如何从 NC 文件中的变量中提取信息?

问题描述

我正在尝试使用此问题中附加的代码从不同的 NC 文件提取信息,并且代码工作正常,直到它打开一个没有感兴趣变量信息的文件,一旦它尝试提取信息我得到附加的错误。请你帮我解决这个问题好吗?

代码

import glob
from netCDF4 import Dataset
import numpy as np
import pandas as pd

date_range=pd.date_range(start="19980101",end="20200930")
df1=pd.DataFrame(0,columns=["precip"],index=date_range)
lat_alecon = 44.8306
lon_alecon = 0.6914

for day in date_range:
    print(day)
    data = Dataset("gpcp_v01r03_daily_d"+str(day)[0:4]+str(day)[5:7]+str(day)[8:10]+".nc")
    prcp=data.variables['precip']
    lon_data = data.variables['longitude'][:]
    lat_data = data.variables['latitude'][:]
    sq_diff_lat = (lat_data - lat_alecon)**2
    sq_diff_lon = (lon_data - lon_alecon)**2
    min_index_lat = sq_diff_lat.argmin()
    min_index_lon = sq_diff_lon.argmin()
    df1.loc[str(day)]["precip"] = prcp[0,min_index_lat,min_index_lon]

输出错误

2001-09-09 00:00:00
2001-09-10 00:00:00
2001-09-11 00:00:00
Traceback (most recent call last):

  File "C:\Users\juanj\copernicusData\Precipitation\copernicustable.py",line 43,in <module>
    df1.loc[str(day)]["precip"] = prcp[0,min_index_lon]

  File "C:\Users\juanj\anaconda3\lib\site-packages\pandas\core\series.py",line 1000,in __setitem__
    self._set_with_engine(key,value)

  File "C:\Users\juanj\anaconda3\lib\site-packages\pandas\core\series.py",line 1035,in _set_with_engine
    self._values[loc] = value

  File "C:\Users\juanj\anaconda3\lib\site-packages\numpy\ma\core.py",line 4383,in __int__
    raise MaskError('Cannot convert masked element to a Python int.')

MaskError: Cannot convert masked element to a Python int.

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...