2
我想維護一個hdf5文件中的大型PyTable。 通常作爲新的數據來了,我會追加到現有的表:大熊貓,具有不同數量列的大文件,在內存中追加
store = pd.HDFStore(path_to_dataset, 'a')
store.append("data", newdata)
store.close()
但是,如果舊的存儲數據的列和那些進入newdata的是僅部分重疊,則返回了以下錯誤:
Exception: cannot match existing table structure for [col1,col2,col3] on appending data
在這種情況下,我想獲得與正常數據幀附加功能 填補與南
import pandas as pd
a = {"col1":range(10),"col2":range(10)}
a = pd.DataFrame(a)
b = {"b1":range(10),"b2":range(10)}
b = pd.DataFrame(b)
a.append(b)
012不相重疊的條目的行爲
是否有可能在內存中執行類似的操作,還是需要創建一個全新的文件?
HDFStore存儲面向行,所以這是目前不可能的。你可能需要閱讀它,追加並寫出來。可能你可以使用:http://pandas.pydata.org/pandas-docs/stable/io.html#multiple-table-queries – Jeff
做到這一點的最好方法是創建包含所有可能的列的表開始(並讓他們離開) – Jeff