2014-04-01 30 views
4

我正在使用大熊貓來加入使用HDFStore的幾個巨大的csv文件。我將所有其他表合併到基表中,base。現在我在HDFStore中爲每個合併的輸出創建一個新表格,我稱之爲temp。然後我刪除舊的基表。最後,我將temp複製到base,並在我需要加入的下一張表上再次啓動該過程。在pandas中重命名錶hdfstore

如果我可以簡單地將temp重命名爲base,這將會更加高效。這可能嗎?

+0

Luke,我很好奇爲什麼你不會直接追加額外的csv的基表,而不是有創建一個新表的中間(慢)步驟? – fantabolous

回答

5

是的,這是可能的。您必須深入研究methods from PyTables,其中HDFStore取決於。

Out[20]: 
<class 'pandas.io.pytables.HDFStore'> 
File path: test.h5 
/a   frame  (shape->[3,1]) 

In [21]: store.get_node('a')._f_rename('b') 

In [22]: store 
Out[22]: 
<class 'pandas.io.pytables.HDFStore'> 
File path: test.h5 
/b   frame  (shape->[3,1]) 

相同的方法適用於frame_table可追加節點。

+0

非常感謝,似乎沒有任何提高速度。 – Luke

+0

嗯。我對內部不熟悉。如果@Jeff下降,他可能會對此有所瞭解。 –

+0

使用你的程序文件將會繼續增長;如果你正在刪除很多東西,你應該試試。不清楚你認爲加速的位置 – Jeff