首页 > 解决方案 > 将大型 csv 文件的每分钟时间序列数据聚合到每小时

问题描述

您好,我有一个关于如何将每个路段的每分钟数据汇总到每小时级别的问题。数据应按小时和路段 ID 分组。这是否可以在 15gb+ csv 上执行,因为我只过滤了相关的路段以将大小减小到 1-2GB?

数据集是这样的

             DateTime              SegmentID    Speed
    2019-10-08T01:00:00+01:00          1          39
    2019-10-08T01:00:01+01:00          1          39

标签: pythonpandascsvaggregate

解决方案


您可以使用resample()熊猫功能。然后看起来您想要获取其他列的 sum() 或 mean() ?

df.resample('H').mean()

如果您的DateTime列不是您的索引,您将不得不这样做:

df.resample('H', on='DateTime').mean()

您可以使用其他聚合来代替mean()sum()取决于您要实现的目标。


推荐阅读