繁体   English   中英

需要帮助按天分组并计算指定范围内的元素

[英]Need help to groupby day and count elements within a specified range

所以我的数据现在看起来像这样:

DTA_ADM HOUR_AD
NUM_S       
461871  07/18/2020  52973
477090  09/23/2020  34328
2043366 10/07/2020  49953
2043366 10/24/2020  48190
1627234 07/29/2020  72266
... ... ...
421338  09/15/2020  70392
424569  05/19/2020  42863
427780  07/03/2020  44645
427780  09/05/2020  70800
2180672 09/03/2020  74661

我想计算每天在 HOUR_ADM 列(例如 28000-50400 和 50400-86400 之间)中特定范围内的数字的 ocorrence。

像这样的东西:

DTA_ADM     INT_1     INT_2
05/01/2020  34        67
05/02/2020  59        70
05/03/2020  70        49
05/04/2020  43        35
05/05/2020  50        50
... ... ...
11/26/2020  89        65
11/27/2020  65        49
11/28/2020  64        80
11/29/2020  79        90
11/30/2020  43        65

有什么建议么?

使用pd.cut

rng = [28000,50400,86400]
df.groupby(pd.cut(df.HOUR_AD, bins=rng)).count()

最终解决方案如下所示:

df.groupby([df.DTA_ADM, pd.cut(df.HOUR_AD, bins=rng, labels=[f"INT_{i+1}" for i in range(len(rng)-1)])])['HOUR_AD'].agg('count').unstack()

HOUR_AD INT_1 INT_2
DTA_ADM
2020-05-19 1 0
2020-07-03 1 0
2020-07-18 0 1
2020-07-29 0 1
2020-09-03 0 1
2020-09-05 0 1
2020-09-15 0 1
2020-09-23 1 0
2020-10-07 1 0
2020-10-24 1 0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM