【问题标题】:pandas TimeGrouper custom frequency time rangepandas TimeGrouper 自定义频率时间范围
【发布时间】:2018-04-13 06:09:07
【问题描述】:

如何实现按自定义时间范围分组数据?我能够按小时对数据进行分组,但我想以 1 小时 1 分钟为间隔进行分组。

类似这样的代码: df.groupby(pd.TimeGrouper('1H:1Min')).mean() (但这会返回错误。)

我的目标是获得每个1H:1Min 间隔的平均值。希望你能帮助我。

【问题讨论】:

    标签: python pandas time-series pandas-groupby


    【解决方案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。请不要道歉!你做了很多人不敢做的事。那是看起来很愚蠢的风险。试图摆脱无知并没有什么愚蠢的。这是一个很好的问题。
    猜你喜欢
    • 2020-12-29
    • 1970-01-01
    • 1970-01-01
    • 2018-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-04
    相关资源
    最近更新 更多