【问题标题】:Python : Summary of statistics from multiple statistics filesPython:来自多个统计文件的统计摘要
【发布时间】:2017-04-27 10:23:26
【问题描述】:

我有大约 140,000,000 条记录的数据集,已存储在数据库中。我需要使用 python 计算这些数据的基本统计数据,例如平均值、最大值、最小值、标准差。

但是当我使用诸如“Select * from Mytable order by ID limit %d offset %d”% (chunksize,offset) 之类的块时,执行需要一个多小时并且仍在执行。参考自How to create a large pandas dataframe from an sql query without running out of memory?

由于需要更多时间,现在我决定只读取少量记录并将使用 pandas.describe() 获得的统计信息保存到 csv 中。同样,对于整个数据,我将有多个仅包含统计信息的 csv。

有没有办法合并这些 csv 以获得 140,000,000 的整个数据的整体统计信息?

【问题讨论】:

标签: python pandas


【解决方案1】:

在这种情况下(计算平均值、最大值、最小值、标准差),对于拆分为不同文件的大量数据集,您可以计算所需的内容(平均值、最大值等...)只保留结果,然后打开第二个文件, 并计算(平均值、最大值等...)考虑到您的第一个文件等的结果...

【讨论】:

    【解决方案2】:

    你试过用泡菜吗?以pickle格式保存和加载,使用pandas数据框计算汇总统计。

    https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_pickle.html

    如果这不起作用,那么也许重新审视目标,了解为什么需要捕获如此大的数据集并按类别、时间段或更有意义的方式进行细分。

    【讨论】:

      猜你喜欢
      • 2020-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-22
      • 2022-06-27
      相关资源
      最近更新 更多