打开多个 NetCDF 数据并更改维度

问题描述

我尝试打开多个 NetCDF 数据并尝试更改维度,但出现错误

file_names = []
latnya = np.array([])
lonnya = np.array([])
timenya = np.array([])
slanya = np.array([])
distance_gshhsnya = np.array([])
distance_stumpfnya = np.array([])

对于 glob.glob('*.nc') 中的 each_file: file_names.append(each_file) %%时间

对于 file_names 中的 each_ds: ds = xr.open_dataset(each_ds,decode_times=False) total_cycle = len(ds.nbcycles)

for tiap_cycle in range(len(ds.nbcycles)):
    
    # latitude
    latnya = np.concatenate([latnya,np.array((ds.isel(nbcycles=tiap_cycle).lat).values)])
    
    # longitude
    lonnya = np.concatenate([lonnya,np.array((ds.isel(nbcycles=tiap_cycle).lon).values)])

    # time
    timenya = np.concatenate([timenya,np.array([pd.to_datetime(str(time)) for time in (ds.isel(nbcycles=tiap_cycle).time).values])])
    
    # sla
    slanya = np.concatenate([slanya,np.array((ds.isel(nbcycles=tiap_cycle).sla).values)])
    
    # distance gshhs
    distance_gshhsnya = np.concatenate([distance_gshhsnya,np.array((ds.isel(nbcycles=tiap_cycle).dist_to_coast_gshhs).values)])
    
    # distance stumpf
    distance_stumpfnya = np.concatenate([distance_stumpfnya,np.array((ds.isel(nbcycles=tiap_cycle).dist_to_coast_stumpf).values)])

但它说的错误

----------------------------------------------- --------------------------- TypeError Traceback(最近调用 最后)~\Anaconda3\lib\site-packages\pandas\core\arrays\datetimes.py 中 objects_to_datetime64ns(数据,第一天,第一年,UTC,错误, require_iso8601、allow_object) 1978 尝试: -> 1979 值,tz_parsed = conversion.datetime_to_datetime64(data) 1980 # 如果 tzaware,这些值代表 unix 时间戳,所以我们

pandas_libs\tslibs\conversion.pyx 中 pandas._libs.tslibs.conversion.datetime_to_datetime64()

类型错误:无法识别的值类型:

在处理上述异常的过程中,又发生了一个异常:

ValueError Traceback(最近一次调用 最后)在

在 (.0) 中

~\Anaconda3\lib\site-packages\pandas\util_decorators.py 中 包装器(*args,**kwargs) 206 其他: 207 kwargs[new_arg_name] = new_arg_value --> 208 return func(*args,**kwargs) 209 210 返回包装器

~\Anaconda3\lib\site-packages\pandas\core\tools\datetimes.py 中 to_datetime(arg,错误,第一天,第一年,UTC,框,格式,精确, 单位,infer_datetime_format,原点,缓存) 794 结果= convert_listlike(参数,框,格式) 795 其他: --> 796 结果 = convert_listlike(np.array([arg]),Box,format)[0] 797 798返回结果

~\Anaconda3\lib\site-packages\pandas\core\tools\datetimes.py 中 _convert_listlike_datetimes(arg,format,name,tz,unit,errors,infer_datetime_format,dayfirst,yearfirst,exact) 461个错误=错误, 第462话 --> 463 allow_object=True,第464章 465

~\Anaconda3\lib\site-packages\pandas\core\arrays\datetimes.py 中 objects_to_datetime64ns(数据,第一天,第一年,UTC,错误, require_iso8601,allow_object) 1982 返回 values.view("i8"),tz_parsed 1983 除了 (ValueError,类型错误): -> 1984 raise e 1985 1986 如果 tz_parsed 不是 None:

~\Anaconda3\lib\site-packages\pandas\core\arrays\datetimes.py 中 objects_to_datetime64ns(数据,第一天,第一年,UTC,错误, require_iso8601,allow_object) 1973 dayfirst=dayfirst, 1974年第一年=第一年, -> 1975 require_iso8601=require_iso8601,1976 ) 1977 除了 ValueError 作为 e:

pandas._libs.tslib.array_to_datetime() 中的pandas_libs\tslib.pyx

pandas._libs.tslib.array_to_datetime() 中的pandas_libs\tslib.pyx

pandas_libs\tslib.pyx 中 pandas._libs.tslib.array_to_datetime_object()

pandas_libs\tslib.pyx 中 pandas._libs.tslib.array_to_datetime_object()

pandas_libs\tslibs\parsing.pyx 中 pandas._libs.tslibs.parsing.parse_datetime_string()

~\Anaconda3\lib\site-packages\dateutil\parser_parser.py 中 解析(timestr,解析器信息,**kwargs)1356返回 parser(parserinfo).parse(timestr,**kwargs) 1357 否则: -> 1358 返回 DEFAULTPARSER.parse(timestr,**kwargs) 1359 1360

~\Anaconda3\lib\site-packages\dateutil\parser_parser.py 中 解析(自我,timestr,认,ignoretz,tzinfos,**kwargs) 647 648 如果 res 为 None: --> 649 raise ValueError("未知字符串格式:",timestr) 650 第651话

ValueError: ('UnkNown string format:','15774.62387426')

解决方法

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

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

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