问题描述
我正在尝试使用此问题中附加的代码从不同的 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 (将#修改为@)