pandas TimeGrouper 自定义频率时间范围
Posted
技术标签:
【中文标题】pandas TimeGrouper 自定义频率时间范围【英文标题】:pandas TimeGrouper custom frequency time range 【发布时间】:2018-04-13 06:09:07 【问题描述】:如何实现按自定义时间范围分组数据?我能够按小时对数据进行分组,但我想以 1 小时 1 分钟为间隔进行分组。
类似这样的代码:
df.groupby(pd.TimeGrouper('1H:1Min')).mean()
(但这会返回错误。)
我的目标是获得每个1H:1Min
间隔的平均值。希望你能帮助我。
【问题讨论】:
【参考方案1】:使用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
)是组合频率混叠的正确方法。
如果这可能是一个简单的问题,我深表歉意。我只是熊猫和一般编程的新手,仍在阅读文档。我没有意识到我可以只使用 3660s 或 1H1Min。陷入过度分析。非常感谢!
@EmmanD。请不要道歉!你做了很多人不敢做的事。那是看起来很愚蠢的风险。试图摆脱无知并没有什么愚蠢的。这是一个很好的问题。以上是关于pandas TimeGrouper 自定义频率时间范围的主要内容,如果未能解决你的问题,请参考以下文章