微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法将 xarray 数据帧转换为熊猫数据帧

如何解决无法将 xarray 数据帧转换为熊猫数据帧

我需要在 Pandas 中使用一些 *.nc 文件,但我正在努力转换。 这是数据集 DS1:

<xarray.Dataset>
Dimensions:    (latitude: 51,longitude: 51,time: 47)
Coordinates:
  * longitude  (longitude) float32 15.1 15.2 15.3 15.4 ... 19.8 19.9 20.0 35.0
  * latitude   (latitude) float32 34.9 34.8 34.7 34.6 ... 30.1 30.0 9.9498e-40
  * time       (time) object 1981-01-01 02:00:00 ... -243069-06-09 17:00:00
Data variables:
    u10        (time,latitude,longitude) float32 nan nan nan ... nan nan nan
    v10        (time,longitude) float32 nan nan nan ... nan nan nan
    t2m        (time,longitude) float32 nan nan nan ... nan nan nan
    tp         (time,longitude) float32 nan nan nan ... nan nan nan
Attributes:
    Conventions:  CF-1.6
    history:      2021-07-03 16:40:01 GMT by grib_to_netcdf-2.20.0: /opt/ecmw...

DS1.to_dataframe() 

出现错误

NotImplementedError: > 1 ndim Categorical are not supported at this time

我担心的是 time 坐标 -243069-06-09 17:00:00 是导致此错误的原因,因为它完全超出了我在文件中预期的范围。

Here is a link to original file.

感谢任何帮助。

解决方法

最终我通过简单地过滤掉负时间维度来解决这个问题 DS1.where(DS1.time>cftime.DatetimeGregorian(1980,1,1),drop=True).to_dataframe()

不确定它是如何创建这个额外维度的,但它解决了我的问题。

感谢@timus 付出的时间和精力。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。