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 自定义频率时间范围的主要内容,如果未能解决你的问题,请参考以下文章

我正在尝试使用 pandas TimeGrouper 创建一些日期的频率表,但是它返回错误

多索引上的 Pandas TimeGrouper

Pandas 按自定义频率分组并获取索引组

TimeGrouper,熊猫

如何将时间序列分解应用于自定义数据集

PayPal API 如何设置自定义计费频率?