在将pandas DataFrame保存到hdf5文件时,是否有方法保留其属性?我想将元数据与pandas DataFrame一起存储在hdf5文件中。
下面是一些简单的代码来说明问题:
import pandas as pd
df = pd.DataFrame(np.arange(10), columns=['data1'])
df.attrs.update({'test1':0,'test2':'this is a string'})
df.to_hdf('test.h5',key='df',complevel=9)
df_read = pd.read_hdf('test.h5')
df_read.attrs # this is an empty dict {} instead of what I created above
2条答案
按热度按时间u5i3ibmn1#
您可以使用HDFStore保存元数据:
dsf9zpds2#
将Pandas DataFrame保存到HDF5文件时,默认行为是仅保存数据,而不保留与DataFrame关联的属性和元数据。但是,您可以使用format='table'选项将DataFrame保存为支持存储元数据的PyTables表。
下面是保留了属性的代码的更新版本:
此代码使用pd.HDFStore类创建和管理HDF5文件。如果在保存DataFrame时指定format='table',则属性将与数据一起保留。当从HDF5文件中阅读DataFrame时,可以通过df_read.attrs访问这些属性,并包含先前设置的值。
请注意,使用“table”格式可能需要额外的依赖项,如pytables和numexpr。如果您愿意,可以使用pip install tables或pip install numexpr来安装它。