【python nc文件】10分钟教你python读取nc文件

您所在的位置:网站首页 nc文件可以转换二维图形吗 【python nc文件】10分钟教你python读取nc文件

【python nc文件】10分钟教你python读取nc文件

2024-06-29 20:09| 来源: 网络整理| 查看: 265

对于做海洋数据处理的同学,会经常遇到nc格式的文件,nc文件的格式全称是NetCDF. NetCDF文件可以存储多维数据,通过包含地理空间图像、栅格、地形数据、气候数据和文本的数组来存储不同类型的数据。这些数组支持元数据,使netCDF格式具有高度灵活性。NetCDF是由UCAR开发的,UCAR负责维护支持使用该格式的标准和软件。

气候数据通常有3个维度x和y分别代表地球表面和时间上某个点或网格单元的经纬度位置,第三个维度通常存储温度、湿度、降水量或风向等数据值。

我们可以使用netCDF4 读取NC格式文件

pip install netCDF4

读取nc文件

# -*- coding: utf-8 -*- import netCDF4 as nc import pandas as pd import numpy as np file = r'C:\Users\laidefa\Documents\WeChat Files\wxid_sw830nx7s59721\FileStorage\File\2022-01\GPM20180831.nc4' dataset =nc.Dataset(file) all_vars=dataset.variables.keys() # print(len(all_vars)) #获取所有变量信息 all_vars_info = dataset.variables.items() all_vars_info = list(all_vars_info) # print(all_vars_info) # 获取单独的一个变量的数据 precipitationCal=dataset.variables['precipitationCal'][:] print(precipitationCal.shape) # 转换成数组 var_data = np.array(precipitationCal) print(var_data)

运行结果:

(1, 201, 151) [[[3.65600729e+00 1.27241125e+01 3.98646307e+00 ... 8.68641585e-03 1.46844620e-02 7.34620029e-03] [2.14123845e+00 7.57166147e-01 1.91910040e+00 ... 8.65888037e-03 2.60566548e-03 2.98079150e-03] [4.48417330e+00 1.41921055e+00 6.20668602e+00 ... 9.70392860e-03 4.53064591e-03 2.43900996e-03] ... [3.59529686e+01 3.85554466e+01 3.11111870e+01 ... 6.92076206e+00 7.24171495e+00 5.06741095e+00] [4.42697144e+01 4.94302330e+01 2.95096188e+01 ... 2.96191859e+00 3.27258682e+00 2.43876338e+00] [3.40604172e+01 3.71603012e+01 3.16420326e+01 ... 2.59504414e+00 3.24035335e+00 4.25212908e+00]]] Process finished with exit code 0

获取数据集:

# -*- coding: utf-8 -*- import netCDF4 as nc import pandas as pd import numpy as np file = r'C:\Users\laidefa\Documents\WeChat Files\wxid_sw830nx7s59721\FileStorage\File\2022-01\GPM20180831.nc4' dataset =nc.Dataset(file) all_vars=dataset.variables.keys() # print(len(all_vars)) #获取所有变量信息 all_vars_info = dataset.variables.items() all_vars_info = list(all_vars_info) # print(all_vars_info) precipitationCal=dataset.variables['precipitationCal'][:] print(precipitationCal.shape) q,w,k=precipitationCal.shape var_data = np.array(precipitationCal) res=[] for i in range(0,w): for j in range(0,k): print(var_data[0][i][j]) res.append(var_data[0][i][j]) print(len(res))


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3