【发布时间】:2018-04-13 06:09:07
【问题描述】:
如何实现按自定义时间范围分组数据?我能够按小时对数据进行分组,但我想以 1 小时 1 分钟为间隔进行分组。
类似这样的代码:
df.groupby(pd.TimeGrouper('1H:1Min')).mean()
(但这会返回错误。)
我的目标是获得每个1H:1Min 间隔的平均值。希望你能帮助我。
【问题讨论】:
标签: python pandas time-series pandas-groupby
如何实现按自定义时间范围分组数据?我能够按小时对数据进行分组,但我想以 1 小时 1 分钟为间隔进行分组。
类似这样的代码:
df.groupby(pd.TimeGrouper('1H:1Min')).mean()
(但这会返回错误。)
我的目标是获得每个1H:1Min 间隔的平均值。希望你能帮助我。
【问题讨论】:
标签: python pandas time-series pandas-groupby
使用3660 秒
df.groupby(pd.TimeGrouper('3660S')).mean()
或61分钟
df.groupby(pd.TimeGrouper('61Min')).mean()
或者@root 在 cmets 中所说的
df.groupby(pd.TimeGrouper('1H1Min')).mean()
考虑数据框df
df = pd.DataFrame(np.arange(10), pd.date_range('2017', periods=10, freq='30Min'))
所有分组产生
0
2017-01-01 00:00:00 1.0
2017-01-01 01:01:00 3.5
2017-01-01 02:02:00 5.5
2017-01-01 03:03:00 7.5
2017-01-01 04:04:00 9.0
【讨论】:
1H1Min(或1H1T)是组合频率混叠的正确方法。