登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 小白大白123 于 2023-10-2 20:04 编辑
(1)有关python的经验方法都是基于anaconda下载的库包(conda install 库包名 或 cmd 命令 pip install 库报名),以及使用anaconda里的spyder(python3.8)编辑和运行代码。 (2)所有的代码都是经过了spyder(python3.8)正常运行得出结果的,可以放心使用,也欢迎交流和讨论。 (3)使用的软件以及不同版本,都有可能会导致代码运用出现问题(不代表分享的代码有问题或是错误的。),关于不同版本运行本号分享的代码出现问题,请自行网上搜索解决办法解决。 纲要: 1.Python读取气象数据txt文本格式存储 2.Python读取气象数据NetCDF(.nc)格式存储
一、读取txt文本格式存储的气象数据
气象站点数据是气象数据很重要的一部分,尤其是在观测数据方面,站点数据一般存放于.txt文件中,首先就需要读取数据。 以一套中国气象数据网下载的某省的1979-2019年逐月气温的站点数据为例,数据文件格式为TXT文本格式: TXT文本保存的数据如下图所示:
如果没有导入pandas库,需要现在anaconda里下载pandas库,再在spyder理运行python代码,对于这类简单排列的.txt文件,可以通过np.load读取,但用pandas的.read_csv更为方便: - import pandas as pd
- data = pd.read_csv("tem.txt", skiprows=1, sep=',', header=None)
- print(data)
复制代码
运行后,文件信息查看如下:
可以看到,文件的数据有22列,492行,第0列是年份,第1列是月份,剩余列数是变量数据。 skiprows=1表示跳过了前1行的文件头(因为第一行的数据中含有非数字的字符,所以选择跳过不读取)。 如果其他文件中数据是以空格为间隔,则sep='\s+'定义了数据间隔为空格。
二、Python读取气象数据 NetCDF(.nc)文件 (之前帖子:http://bbs.06climate.com/forum.php?mod=viewthread&tid=99406&fromuid=111039) 气象数据可视化主要依靠matplotlib做绘图,其他库包为辅助,包括数据处理的,地理信息处理的等等。绘图主要有六步(“六部曲”): 引入库包:import matplotlib.pyplot as plt
设定画布:fig=plt.figure() 导入数据:之前已有介绍导入nc文件格式数据(【气候软件】Python读取气象数据 NetCDF文件(***.nc))和导入txt文本格式数据(【气候软件】Python2:读取TXT文本格式的数据)。 线图命令:plt.plot(x,y,lw=,ls=,c=,alpha=) 出图:plt.show() 存图:fig.savefig("···")
【读取气象数据 NetCDF(.nc)文件】 第一步:使用anaconda安装xarray库; 第二步:使用Spyder(Python3.8)读取数据NetCDF文件(***.nc),以一套CMIP6的某模式输出的tas(表面气温)变量1850-2014年的历史格点资料为例; 第三步:气温数据取出,Xarray在读取坐标信息时,自动将时间坐标读取为了float64 格式,这对我们挑选目的时间十分方便。Xarray通常与pandas配合使用; 第四步:选取某时间段内数据,比如我们想选取15.5-74.5(根据数据信息中time格式的规定输入相应格式)时期数据; 第五步:选取特定经纬度范围(高度)的数据,当我们想选取特定经纬度范围(高度)的数据时,.loc[]函数同样可以解决。 在这里,选取了40°N-55°N,115°E-135°E范围的数据。 (详情及附件见之前帖子:http://bbs.06climate.com/forum.php?mod=viewthread&tid=99406&fromuid=111039)
|