【发布时间】:2020-06-15 08:39:08
【问题描述】:
我正在处理一个大型 csv 文件。由于内存限制,我无法同时将整个 csv 文件导入数据帧,因此我使用块来处理数据。
df = pd.read_csv(filepath, chunksize = chunksize)
for chunk in df:
print(chunk['col2'].describe())
这给了我每个块的统计数据。有没有办法合并每个要合并的 chunk.describe() 调用的结果,以便我可以一次获取所有数据的统计信息?
我现在能想到的唯一方法是维护一个字典来存储统计信息并在每次迭代时更新。
【问题讨论】:
-
您可以从块中聚合整个 DataFrame 的某些统计信息,例如
mean、max、min和counts,但我认为您无法获得类似 25th 的信息块统计的百分位数。 -
dask包装 pandas 以进行核外(内存太大)计算。它原生实现describe:docs.dask.org/en/latest/…
标签: python pandas dataframe large-data