2012-07-26 95 views
5

我正在检索一些Web数据,解析它并将输出存储为Pandas DataFrame到HDF5文件中。就在我将DataFrame写入H5文件之前,我添加了自己的描述字符串来注释一些关于数据来自何处的元数据以及解析时是否出错。将我自己的描述属性添加到Pandas DataFrame

In [1]: my_data_frame.desc = "Some string about the data" 

In [2]: my_data_frame.desc 

Out[1]: "Some string about the data" 

In [3]: print type(my_data_frame) 
<class 'pandas.core.frame.DataFrame'> 

然而,随着pandas.io.pytables.HDFStore()加载相同的数据后,我加入desc属性丢失,我得到的错误:AttributeError: 'DataFrame' object has no attribute 'desc',就好像我从来没有加入这个新的属性。

如何让我的元数据描述持久化为DataFrame对象的额外属性? (或者是否存在DataFrame的某些现有的已识别属性,我可以为我的元数据目的劫持?)

回答

1

添加DataFrame元数据或每列元数据位于路线图上,但尚未实现。不过,我很乐意看到API应该是什么样子。

+0

你知道是否有可能只是覆盖'__doc__'属性,或者它是否绑定DataFrame?我发现当我尝试覆盖它,然后从H5加载对象时,文档字符串实际上只是“无”。它不保留我的新文档字符串,但也不会恢复到常规文档字符串。 – ely 2012-07-26 15:48:31

+0

此外,对我来说一个简单的解决方法是将一个字典写入H5文件,DataFrame的'data'键和我的字符串描述的'description'键。但是这给了一个关键错误。这是H5py/PyTables的错误吗?当然,你应该能够存储非矩形数据阵列到H5? – ely 2012-07-26 16:03:38

+0

对不起,在重新阅读它可能已经脱颖而出的关键。我不是特意指你(或熊猫),而是指HDF5。我假设它可以容纳一个字典,但是可能使用的PyTables HDFStore对熊猫物体是唯一的吗? – ely 2012-07-26 20:49:13