我想將大數據集(> 30Gb)追加到現有的pytables表中。該表爲N列,數據集爲N-1列;我知道其他N-1列後計算一列。將大量數據附加到表(HDF5)數據庫,其中database.numcols!= newdata.numcols?
我使用numpy.fromfile()
在將數據集附加到數據庫之前將數據集的塊讀入內存。理想情況下,我想將數據粘貼到數據庫中,然後計算最後一列,然後使用Table.modifyColumn()
完成操作。
我已經考慮追加numpy.zeros((len(new_data), N))
表中,然後使用Table.modifyColumns()
填寫新的數據,但我希望有人知道一個很好的方式,以避免產生巨大的每個塊空的數據,我需要的數組附加。
我很困惑。爲什麼不只是追加一列零? np.zeros(len(new_data,1)) –
我也很困惑。爲了什麼你建議我追加一列零? – Phil
你能提供一個代碼示例嗎?我想我現在明白,你使用numpy從hdf5文件和PyTables中讀取數據來操縱(不同的?)hdf5文件?爲什麼不在插入表之前用numpy .concatenate擴展數組?我想我不確定你的目標是什麼。 –