我想用pandas数据框附加一些 meta数据。元数据就像在保存数据框之前添加一些关于所有数据处理的描述。
我遇到了这个解决方案:https://stackoverflow.com/a/52546933/214526
所以,我尝试了以下几点:
xarrDS: xarray.Dataset = pdDF.to_xarray()
xarrDS.attrs["description"] = "Some description about data processing"
## here if I display xarrDS in the notebook, it shows the data correctly"
xarrDS.to_netcdf(path="processed_df.nc")
但是保存到netcdf会导致以下异常:
ValueError:使用序列设置数组元素
pandas dataframe没有任何NaN值。我在网上找不到任何相关的解决方案。我看到这篇文章也使用类似的代码保存它。
任何关于如何解决这个或替代解决方案(不使用额外的mlops库)来保存 meta数据的指针都将受到欢迎。
我的库版本如下:
pandas=1.5.3
xarray=2022.11.0
netcdf4=1.6.3
1条答案
按热度按时间s6fujrry1#
该错误的可能原因是,在你的pandas数据框中,你有一些类型为
object
的列,所以类似于带有字符串的列。因此,自动转换可能会在将该数据类型分配给支持的NetCDF4数据类型时遇到一些问题。不设置属性保存到netcdf是否有效?
但如果这确实是问题所在,您可以尝试设置
.to_netcdf()
函数的encoding
参数。