【发布时间】:2017-08-14 18:32:46
【问题描述】:
我正在尝试读取 3 年的数据文件(每个日期一个),与父文件(每个大约 90MB 和 150 万行)相比,我感兴趣的部分通常很小(总共约 140 万行)行)。下面的代码过去对我来说效果很好,文件数量较少。但是要处理 1095 个文件,它正在爬行(读取一个文件大约需要 3-4 秒)。有什么建议可以提高效率/速度吗?
import pandas as pd
from glob import glob
file_list = glob(r'C:\Temp2\dl*.csv')
for file in file_list:
print(file)
df = pd.read_csv(file, header=None)
df = df[[0,1,3,4,5]]
df2 = df[df[0].isin(det_list)]
if file_list[0]==file:
rawdf = df2
else:
rawdf = rawdf.append(df2)
【问题讨论】:
-
你可以指定列的
dtypes -
谢谢,@djk47463:最终的 df 有 4 个整数和 1 个日期时间字段。这会提高阅读/处理速度吗?
标签: python-3.x pandas dataframe glob