2012-07-26 96 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