gpt4 book ai didi

python - pandas 按一天中的时间分组,每组 15 分钟

转载 作者:行者123 更新时间:2023-12-03 08:28:38 25 4
gpt4 key购买 nike

我有一些跨越多天的时间序列数据,如下所示:

dr = pd.date_range('01-01-2020 9:00', '01-03-2020 23:59', freq='1T')
df = pd.DataFrame({'data': 1}, index=dr) # all ones in the data column

我对按一天中的时间进行分组并对数据求和(即合并不同日期的数据)感兴趣。我从 this post 得到和 this one您可以使用日期时间系列或索引的时间属性将数据分组到一天中的某个小时,如下所示:

df.groupby(df.index.hour).sum()
df.groupby(df.index.time).sum()

但是,我想分成 15 分钟的时间段,例如像这样的东西(数字是任意的):

      data
00:00 10
00:15 12
00:30 15
...
11:30 16
11:45 20

请注意,我不想只进行 15 分钟的重新采样(例如 df.resample('15T').sum()),因为这不会' t 组在几天内的时间相似。例如,任何日期 9:00 到 9:15 之间的数据都应放置在同一个 bin 中。

我找不到可以实现此目的的时间属性。我怎样才能这样做?

最佳答案

您可以首先以特定频率获取时间戳的下限,然后访问它们的时间来对数据进行分组:

>>> df.groupby(df.index.floor('15T').time).sum()

data
00:00:00 30
00:15:00 30
00:30:00 30
00:45:00 30
01:00:00 30
...
22:45:00 45
23:00:00 45
23:15:00 45
23:30:00 45
23:45:00 45

[96 rows x 1 columns]

这应该适用于均匀划分小时的所有其他分钟频率(1、2、3、4、5、6、10、12、15、20、30 或 60 分钟)。

关于python - pandas 按一天中的时间分组,每组 15 分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65820941/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com