1
我有一個3GB的CSV文件。我試圖用Pandas將它保存爲HDF格式,這樣我可以更快地加載它。熊貓HDF限制CSV文件的行數
import pandas as pd
import traceback
df_all = pd.read_csv('file_csv.csv', iterator=True, chunksize=20000)
for _i, df in enumerate(df_all):
try:
print ('Saving %d chunk...' % _i, end='')
df.to_hdf('file_csv.hdf',
'file_csv',
format='table',
data_columns=True)
print ('Done!')
except:
traceback.print_exc()
print (df)
print (df.info())
del df_all
原始的CSV文件有大約300萬行,這反映了這段代碼的輸出。最後一行輸出是:保存167塊...完成! 這意味着:167 * 20000 = 3.340.000行
我的問題是:
df_hdf = pd.read_hdf('file_csv.hdf')
df_hdf.count()
=> 4613行
和:
item_info = pd.read_hdf('ItemInfo_train.hdf', where="item=1")
沒有返回值,甚至我確保原始文件中的「項目」列有一個等於1的條目。
什麼可能是錯的?
可以顯示從'輸出df_hdf.info()''count'計數非楠觀察其數量不一定與您需要append = True的行數 – EdChum
相同 – Jeff