を使用して、大きなファイル(~480MB, 5,250,000 records, stock price daily data -dt, o, h, l, c, v, val , adj, fv, sym, code - for about 4,500 instruments)
をパンダにロードしようとしていますread_csv
。正常に実行され、DataFrame が作成されます。ただし、パネルに変換すると、いくつかの株式の値がかなりずれており、元の csv ファイルの値とはかけ離れています。
次に、でchunksizeパラメーターを使用しようとしread_csv
、forループを使用して次のことを行いました。
reader = read_csv("bigfile.csv",index_col=[0,9],parse_dates=True,names=['n1','n2',...,'nn'], chunksize=100000)
new_df = DataFrame(reader.get_chunk(1))
for chunk in reader:
new_df = concat(new_df, chunk)
これはデータを読み取りますが、次のとおりです。
- パネルに変換するときに、同じ誤った値を取得します(編集:)
- プレーンよりも時間がかかり
read_csv
ます(イテレータなし)
これを回避する方法はありますか?
編集:問題を反映するように質問を変更しました-データフレームは問題ありませんが、パネルへの変換が問題です。入力csvファイルを分割し、マージしてからパネルに変換してもエラーが発生することがわかりました。マルチインデックスの DataFrame を維持していれば、問題はなく、値は正しく表示されます。