首页 > 解决方案 > Python-根据日期或时间间隔将 csv 文件拆分为不同的数据帧

问题描述

我已将 csv 文件导入 python。它在一个月的时间内以 5 分钟的间隔读数。每 5 分钟时间戳大约有 250 个读数。下面是每个时间戳一行的示例。有没有办法将 csv 拆分为按日期或什至 5 分钟间隔分组的不同数据帧以进行绘图?就像我提到的,这个数据集在一个月内每 5 分钟间隔有 250 个读数,所以我想这样做,而不必为每天或集合中的每个间隔对每个数据帧进行硬编码。

df.head()

    tmc_code   measurement_tstamp     ...         miles  road_order
0  112-05650  2018-05-01 00:00:00     ...      0.427814       768.0
1  112-05650  2018-05-01 00:05:00     ...      0.427814       768.0
2  112-05650  2018-05-01 00:10:00     ...      0.427814       768.0
3  112-05650  2018-05-01 00:15:00     ...      0.427814       768.0
4  112-05650  2018-05-01 00:20:00     ...      0.427814       768.0

标签: pythonpandas

解决方案


在我看来,您希望每个日期都有一个新的 DataFrame。如果这是您想要的,以下代码将获取您的数据框,并制作一个数据框列表,每个数据框仅包含一个日期的数据。

df.measurement_tstamp = df.measurement_tstamp.str[:10]
l = df.measurement_tstamp.unique()
data = [df.loc[df['measurement_tstamp']==i] for i in l]

编辑

如果你想以 5 分钟的间隔来做,那就更简单了!

data = [df.loc[df['measurement_tstamp']==i] for i in df.measurement_tstamp.unique()]

应该这样做


推荐阅读