我有一个csv文件,数据量较大,但我使用pandas的apply操作时,程序崩溃了,因此尝试采用分块的思想。
chunksize = 10000
c = 0
for chunk in pd.read_csv(fname, chunksize=chunksize,error_bad_lines=False):
chunk['col1'] = chunk['col1'].apply(process1)
chunk['col2'] = chunk['col2'].apply(process2)
if c == 0:
chunk.to_csv("result/result.csv", index=False)
else:
chunk.to_csv('result/result.csv', mode='a', header=False, index=False)
if c%10==0:
print(c)
c+=1