中图网文创礼盒,买2个减5元 读者节开场福利
欢迎光临中图网 请 | 注册
> >>
Python气象数据处理与绘图基础

Python气象数据处理与绘图基础

作者:王伟等
出版社:科学出版社出版时间:2021-06-01
开本: B5 页数: 164
本类榜单:自然科学销量榜
中 图 价:¥46.6(7.9折) 定价  ¥59.0 登录后可看到会员价
加入购物车 收藏
运费6元,满39元免运费
?新疆、西藏除外
本类五星书更多>

Python气象数据处理与绘图基础 版权信息

Python气象数据处理与绘图基础 内容简介

本书以气象相关问题的分析过程为引导,以Python作为实现工具,介绍了程序设计的基础知识和数据处理与绘图相关的基本编程技术。全书详细介绍了程序设计概述、Python的发展历程和前景、Python的安装步骤、变量和数据类型、顺序结构的设计、选择结构的设计、循环结构的设计、函数与数组、文件、绘图基础等基础功能。

Python气象数据处理与绘图基础 目录

目录
第1章 程序设计概述 1
1.1 程序设计的基础 1
1.1.1 程序设计的概念 1
1.1.2 算法及流程图 2
1.1.3 程序设计的方法 3
1.2 Python语言 4
1.2.1 Python的诞生及发展 4
1.2.2 为什么选择Python 5
1.3 Python的安装调试 5
1.4 习题 7
第2章 数据描述 8
2.1 数据类型 8
2.1.1 数值类型 8
2.1.2 字符串 11
2.1.3 逻辑值 14
2.1.4 空值类型(None Type) 15
2.2 变量及引用 15
2.2.1 命名数据 15
2.2.2 名字和变量 16
2.2.3 赋值语句 16
2.3 表达式 16
2.3.1 算术表达式 16
2.3.2 关系表达式 17
2.3.3 逻辑表达式 17
2.4 Python的输入和输出 18
2.4.1 输入 18
2.4.2 输出 19
2.5 习题 21
第3章 结构程序设计 22
3.1 顺序结构设计 22
3.2 选择结构设计 23
3.2.1 if结构 23
3.2.2 单分支块if结构 24
3.2.3 双分支块if结构 25
3.2.4 多分支块if结构 25
3.2.5 if-else结构的简写 29
3.3 循环结构设计 30
3.3.1 用for语句实现循环 31
3.3.2 用while语句实现循环 33
3.3.3 循环流程控制语句 34
3.3.4 无限循环 37
3.4 嵌套结构设计 39
3.4.1 选择嵌套 40
3.4.2 循环嵌套 41
3.4.3 混合嵌套 43
3.5 习题 44
第4章 函数与数组 45
4.1 内置结构 45
4.1.1 序列 45
4.1.2 列表和元组 46
4.1.3 Python函数range() 51
4.1.4 字典 52
4.1.5 集合 54
4.2 函数 55
4.2.1 内置函数 55
4.2.2 自定义函数 56
4.2.3 自定义函数的调用和参数传递 57
4.2.4 递归函数 58
4.2.5 变量的作用域 59
4.2.6 模块 60
4.3 NumPy 62
4.3.1 NumPy的调试及N维数组对象ndarray 62
4.3.2 NumPy的数据类型 63
4.3.3 数组的创建 65
4.3.4 数组索引和切片 68
4.3.5 数组查询及操作 70
4.3.6 数组的计算 75
4.3.7 数组内部的操作 77
4.3.8 NumPy的读写 81
4.3.9 其他函数 85
4.4 习题 85
第5章 文件 87
5.1 文件的打开与关闭 87
5.1.1 open()函数 87
5.1.2 file对象的属性 89
5.1.3 close()方法 91
5.2 文件的读写 92
5.2.1 read()方法 92
5.2.2 write()方法 94
5.2.3 字符编码 95
5.3 操作文件和目录 96
5.3.1 os模块 96
5.3.2 环境变量 98
5.3.3 操作文件和目录 98
5.4 各类气象数据文件 100
5.4.1 有格式文件 100
5.4.2 二进制文件 103
5.4.3 自带数据描述的文件(nc) 105
5.4.4 HDF数据 110
5.4.5 雷达数据 114
5.4.6 GRIB数据 115
5.5 习题 116
第6章 绘图基础 117
6.1 查看和调用 117
6.2 基本绘图函数 117
6.3 基本图形绘制 120
6.4 图像的处理 139
6.5 习题 141
附录一 Python内置函数 143
附录二 常用文件的读取函数 146
附录三 气象常用数据处理函数 147
附录四 气象常用的绘图函数 150
附录五 参考资源 154

展开全部

Python气象数据处理与绘图基础 节选

第1章 程序设计概述   当前社会,从大型计算服务器到台式机、笔记本电脑,再到各种智能移动设备,计算机涉及我们的生活方方面面。在此基础上的软件开发,正改变着我们的衣食住行(如购物、餐饮、商旅出行等)和学习工作的方式(思想的传递、电子图书、智能机器人等),而大气和海洋科学面对着庞大资料及对资料处理所涉及的大量数学计算,其背后都隐藏着程序的影子。本章将介绍程序设计的概念、为什么选择Python、Python的发展历史及Python的安装调试。   1.1 程序设计的基础   在学习程序语言之前,需要了解程序设计的一些基础知识,包括程序设计、算法的概念,算法的描述及程序设计的方法。   1.1.1 程序设计的概念   程序是对解决某个实际问题所采取的一系列方法和步骤的描述,从计算机的角度而言,程序是使用某种计算机能够理解并执行的语言来描述解决问题的方法和步骤。程序是人和计算机对话的语言,人通过程序下命令,由计算机完成命令,计算机再以文字、图像、声音、动画等形式向人反馈所执行命令的结果,如起床闹铃、照片美化、气象上的数值模式等。一个程序基本由两部分组成:一是描述问题中每个对象和对象之间的关系;二是描述对这些对象进行处理的规则。前者即数据结构的内容,后者则是问题求解的算法。   算法+数据结构=程序 (瑞士,尼克劳斯 沃斯教授)   程序设计反映的是利用计算机解决问题的全过程。程序仅是其中的一方面,还包括问题的分析、数学模型的建立、数据的组织方式、算法、语言的选择、程序的编译调试运行、分析产生的预期结果。   算法是对数据运算过程的描述,数据结构是指数据的组织存储方式。程序设计的实质是针对待解决的实际问题选择一种好的数据结构,并设计一个好的算法。而好的算法在很大程度上取决于描述问题的数据结构。   1.1.2 算法及流程图   1. 算法的概念   算法是指解决问题的方法和步骤。如果用计算机解决数值计算,那么科学计算中的数值积分、线性方程组求解等数学问题的计算方法就是数值计算的算法;计算机用于文字处理、图形图像处理等非数学问题,排序、分类、查找的方法就是非数值计算的算法。   例1-1 输入10个数,要求找出其中的**数。   (1)输入一个数,将其存放在变量max中;   (2)用i来统计比较的次数,其初值设为1;   (3)若i≤9,执行第(4)步,否则执行第(8)步;   (4)输入一个数,放在x中;   (5)比较max和x中的数,若x>max,则将x的值赋给max,否则,max的值不变;   (6)i值增加1;   (7)放回到第(3)步;   (8)输出max中的数,此时max中的数就是10个数中的**数。   由例1-1可以看出,算法是解决问题的方法和步骤的精确描述,它是由一系列基本操作组成的。因此,研究算法的目的就是研究怎样把问题的求解过程分解为一些基本的操作。算法设计好后,要注意检查其正确性和完整性,再用某种高级语言编写相应的程序。   算法具有5个特性:有穷性,算法中执行的步骤总是有限次数的,不能无止境地执行下去;确定性,算法中的每一步操作必须具有确切的含义,不能有二义性;有效性,每步操作必须是可执行的;要有数据的输入;要有结果的输出,否则没有实际意义。   程序除满足5个特性外,还有一个质量问题要考虑。设计高质量算法是设计高质量程序的基本前提。目前,评价算法质量有4个基本标准:正确性、可读性、通用性和高效率。而算法的效率可从时间和空间两方面进行度量。   2. 流程图   算法的描述除例1-1中采用的自然语言外,还有其他的描述工具:流程图、N-S图和伪代码等。   流程图也称为框图,它是使用一些集合框图、流程线和文字说明来表示各种类型的操作。一般用矩形框表示进行某种处理,用平行四边形框表示输入、输出,用菱形框表示判断,用带箭头的流程线表示操作的先后顺序。   例1-2 用流程图来描述例1-1(图1-1)。   图1-1 流程图示例   1.1.3 程序设计的方法   随着计算机技术的快速发展,对程序设计方法的研究也在不断深入。当前,良好的结构是程序的**要求,即结构清晰、易于阅读和理解、便于验证。因此,结构化程序设计应运而生,通过在实践中不断地发展和完善,其已成为软件开发的重要方法。用这种方法设计的程序,结构清晰、易于阅读和理解、便于调试和维护。   结构化程序设计采用自顶向下、逐步求精和模块化的分析方法,从而可有效地将复杂的程序分解成许多易于控制和处理的子程序,便于开发和维护。   随着计算机性能的提升和用户图形界面的推广,应用软件的规模持续高速增长,于是面向对象的程序设计方法在软件开发领域引起了一场大的变革。   面向对象的程序设计以对象作为程序的主体。对象是数据和操作的“封装体”,封装在对象内的程序通过消息来驱动运行,对象的实现和使用是独立的。在用户界面上,消息可通过键盘或鼠标的某种操作来传递。面向对象的程序设计可用类、对象的概念直接对客观世界进行模拟,客观世界中存在的事物、事物所具有的属性、事物间的联系均可以在面向对象的程序设计语言中找到相应的实现机制。它符合人们认识事物的规律,使人机交互更加贴近自然语言。   1.2 Python语言   1.2.1 Python的诞生及发展   Python译为“蟒蛇”,其创立者为Guido van Rassum(图1-2)。目前,Python语言的拥有者是Python Software Foundation(PSF),PSF是非营利组织,致力于保护Python语言的开放、开源和发展。   图1-2 Guido van Rossum(a)和Python图标(b)   Guido希望有一种语言,这种语言既能够像C语言那样,可以全面调用计算机的功能接口,又可以像Shell那样,能够轻松地编程。ABC语言让Guido看到了希望。1989年,为了打发圣诞节假期,Guido开始写Python语言的编译/解释器。Python来自Guido所挚爱的电视剧Monty Python's Flying Circus。他希望这种新的叫作Python的语言,能实现他的理念(一种同时具备C和Shell的优势,且功能全面、易学易用、可拓展的语言)。   1991年,**个Python编译器(同时也是解释器)诞生。它是用C语言实现的,并能够调用C语言的库(.so文件)。从一出生,Python已经具有了类(class)、函数(function)、异常处理(exception),并包括表(list)和词典(dictionary)在内的核心数据类型及以模块(module)为基础的拓展系统。   Python从一开始就特别在意可拓展性(extensibility)。Python可以在多个层次上拓展。在高层,可以引入.py文件。在底层,可以引用C语言的库。Python程序员可以快速地使用Python写.py文件并以此作为拓展模块。Python就好像是使用钢构建房一样,先规定好大的框架,而程序员可以在此框架下相当自由地拓展或更改,这一特征吸引了广大的程序员。随后的近30年,Windows的发展和Internet的流行,使计算机快速深入我们的生活和工作,因而Python也获得了更加高速的发展。   到今天,Python的框架已经确立。Python语言以对象为核心组织代码(everything is object),支持多种编程范式(multi-paradigm),采用动态类型(dynamic typing)自动进行内存回收(garbage collection)。Python支持解释运行(interpret),并能调用C语言的库进行拓展。Python有强大的标准库 (battery included)。由于标准库的体系已经稳定,所以Python的生态系统开始拓展到第三方包。这些包如Django、web.py、wxpython、NumPy、Matplotlib、PIL,这将Python升级成了物种丰富的热带雨林。   Python崇尚优美、清晰、简单,是一种优秀并广泛使用的语言。2008年,Python进入3.0时代,当前,Python3.x系类已经成为主流。与此同时,Python的性能依然值得改进,它仍然是一个发展中的语言,期待看到Python的未来。   1.2.2 为什么选择Python   当前,计算机高级语言有很多种,可将其分为两类:编译型语言(静态语言)如C、C++、Fortran、Python等;解释型语言(脚本语言)如BASIC、PHP、Python等。Python是解释编译型语言,其具有如下几方面的特点:通用语言、脚本语言、开源语言、跨平台语言、多模型语言,是目前*流行的十大计算机语言之一,且排名在不断上升;Python的语法简洁,极大地提高了生产效率;其代码的可读性高;软件开源,其传播和分享度很高;可应用领域很广(科学计算、大数据、人工智能、大型网站、图像多媒体、系统文件等)。随着Python的快速发展,其在大气和海洋的科学研究领域中的应用也越来越广泛。   1.3 Python的安装调试   运行Python程序需要相应编译/解释系统的支持。Python在Windows、Linux、Mac OS操作平台下均可安装运行。读者可在Python的官方网站获取不同操作系统下的安装包。在Windows系统平台下安装Python的方式和其他Windows程序的安装类似,依照安装向导的提示进行即可。   Python的编译环境有很多,如Python自带的集成开发环境Shell-IDLE、由JetBrains公司打造的一款集成开发环境PyCharm、针对科学计算设计的多合一安装包Anaconda等。Anaconda是一款开源免费的多合一安装包,支持近千个第三方库,其中包含多个主流工具(如Orange),适合数据计算领域的开发应用。   Anaconda可以称为Python的神器,它使得各种基础库的安装、Windows下环境变量的设置都变得极其简单。到Anaconda的首页https:,依据操作平台下载Anaconda安装包。Windows平台下Anaconda的安装和其他程序的安装过程类似,根据安装向导提示进行安装即可。   Anaconda包括conda、Python及一批第三方库,可通过conda这个管理工具进行安装、更新、版本查询等操作。例如,在Windows平台下,在cmd中执行conda version可获取conda版本信息;执行conda update conda可升级conda的版本;pip install、conda install命令可以快速地在命令窗口进行库的安装;也可通过Anaconda Navigator进行相应的操作。其中编程工具为Spyder及其包含的交互式编程环境:IPython可在随后的学习使用中不断了解(图1-3)。   图1-3 Anaconda界面下的Spyder(a)和Navigator(b)操作窗口示意图   1. Python的命令运行   在Windows系统下,打开cmd.exe,在命令行输入:   >python   将直接进入python。然后在命令行提示符>>>后面输入:   >>>print('Hello World!')   可以看到,在屏幕上输出:   Hello World!

商品评论(0条)
暂无评论……
书友推荐
本类畅销
编辑推荐
返回顶部
中图网
在线客服