gpt4 book ai didi

Pandas 石斑鱼按频率分类

转载 作者:行者123 更新时间:2023-12-02 01:23:48 26 4
gpt4 key购买 nike

我想按小时对 Pandas 数据框进行分组,而不考虑日期。

我的数据:

id    opened_at             count   sum
2016-07-01 07:02:05 1 46.14
154 2016-07-01 07:34:02 1 479
2016-07-01 10:10:01 1 127.14
2016-07-02 12:01:04 1 8.14
2016-07-02 12:00:50 1 18.14

我可以使用以下方法按小时分组并考虑日期。

groupByLocationDay = df.groupby([df.id,
pd.Grouper(key='opened_at', freq='3h')])

我得到以下信息

id    opened_at             count   sum
2016-07-01 06:00:00 2 4296.14
154 2016-07-01 09:00:00 46 43716.79
2016-07-01 12:00:00 169 150827.14
2016-07-02 12:00:00 17 1508.14
2016-07-02 09:00:00 10 108.14

我怎样才能只按小时分组,使其看起来像下面这样。

id    opened_at         count   sum
06:00:00 2 4296.14
154 09:00:00 56 43824.93
12:00:00 203 152335.28

原始数据以小时为单位,因此我需要获取3h 的频率。谢谢!

最佳答案

你可以这样做:

In [134]: df
Out[134]:
id opened_at count sum
0 154 2016-07-01 07:02:05 1 46.14
1 154 2016-07-01 07:34:02 1 479.00
2 154 2016-07-01 10:10:01 1 127.14
3 154 2016-07-02 12:01:04 1 8.14
4 154 2016-07-02 12:00:50 1 18.14
5 154 2016-07-02 08:34:02 1 479.00

In [135]: df.groupby(['id', df.opened_at.dt.hour // 3 * 3]).sum()
Out[135]:
count sum
id opened_at
154 6 3 1004.14
9 1 127.14
12 2 26.28

关于 Pandas 石斑鱼按频率分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38314839/

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