首页 > 解决方案 > 无法将 netCDF 数据加载到 python 中

问题描述

我正在尝试将三个 netCDF 文件打开到 Python 脚本中。我能够成功地将其中两个加载到 2D NumPy 数组中,但第三个导致问题。这是我的代码:

import numpy as np
from netCDF4 import Dataset

# loading data
rootgrp1 = Dataset("file_1.nc", "r", format="NETCDF4")
rootgrp2 = Dataset("file_2.nc", "r", format="NETCDF4")
rootgrp3 = Dataset("file_3.nc", "r", format="NETCDF4")

# put values into numpy arrays
data1 = np.array(rootgrp1.variables['RAW' ][:, :].data)
data2 = np.array(rootgrp2.variables['RAW' ][:, :].data)
data3 = np.array(rootgrp3.variables['TEMP'][:, :].data)

最后一行抛出此错误:TypeError: ufunc 'multiply' did not contain a loop with signature matching types dtype('<U32') dtype('<U32') dtype('<U32')

我认为问题在于数据不在自己的有效范围内。当我使用不同的应用程序检查数据时,数字在 2000 年代,有时是 3000 年代。但是,当我查看对象的valid_range属性时Dataset,它是 0 到 330:

rootgrp3 的有效范围

任何建议表示赞赏。提前致谢!

标签: pythonnumpynetcdf

解决方案


推荐阅读