gpt4 book ai didi

python - Pandas - 在 groupby 中聚合、排序和最大

转载 作者:太空狗 更新时间:2023-10-29 22:25:08 25 4
gpt4 key购买 nike

我有以下数据框:

                       some_id
2016-12-26 11:03:10 001
2016-12-26 11:03:13 001
2016-12-26 12:03:13 001
2016-12-26 12:03:13 008
2016-12-27 11:03:10 009
2016-12-27 11:03:13 009
2016-12-27 12:03:13 003
2016-12-27 12:03:13 011

我需要做一些类似 transform('size') 的事情,并得到 N 个最大值。要得到这样的东西 (N=2):

             some_id   size
2016-12-26 001 3
008 1
2016-12-27 009 2
003 1

在 pandas 0.19.x 中是否有优雅的方式来做到这一点?

最佳答案

使用value_counts在对 DateTimeIndexdate 部分进行分组后计算非重复计数。默认情况下,这会按降序对它们进行排序。

您只需取此结果的最上面的 2 行即可获得最大的(前 2)部分。

fnc = lambda x: x.value_counts().head(2)
grp = df.groupby(df.index.date)['some_id'].apply(fnc).reset_index(1, name='size')
grp.rename(columns={'level_1':'some_id'})

enter image description here

关于python - Pandas - 在 groupby 中聚合、排序和最大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41333864/

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