我一直在尝试(~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,则没有问题,并且值表示正确。