私は3GBのCSVファイルを持っています。私はパンダでHDF形式に保存しようとしていますので、より速く読み込むことができます。CSVファイルの行数を制限するPandas HDF
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行
そして:でもI」
item_info = pd.read_hdf('ItemInfo_train.hdf', where="item=1")
戻り値は何も、 「item」列のエントリが元のファイルの1に等しいことを確認してください。
何が間違っていますか?
あなたは 'からの出力を表示することができますdf_hdf.info()' 'count'がNaN以外の観測値の数をカウントします必ずしも行の数と同じではありません – EdChum
あなたはappend = Trueが必要です – Jeff