gpt4 book ai didi

python - pandas - 分组、计数值并删除相同的出现次数

转载 作者:太空宇宙 更新时间:2023-11-03 17:28:23 24 4
gpt4 key购买 nike

this开始问题和以下数据框 df:

U,C,G
111,ar,1
112,es,1
112,es,1
112,es,2
113,en,2
113,en,3
113,en,3
114,ca,4
112,es,1
112,es,1
112,es,1
115,it,1
115,it,2
115,it,3

我以这种方式对值进行分组和计数:

grouped = df.groupby(['U','G'])['C'].value_counts()

然后保留每组的最大值:

mask = grouped.groupby(level='U').apply(lambda g: g == g[g.idxmax()])
grouped = grouped[mask]

获取:

U    G    
111 1 ar 1
112 1 es 5
113 3 en 2
114 4 ca 1
115 1 it 1
2 it 1
3 it 1

现在,某些 U 的值有多个相同的出现。我的目标是仅保留仅出现一次的 U 行,并丢弃其他行。在此示例中,生成的数据帧将丢弃 115 组。

最佳答案

>>> grouped[ grouped.groupby(level='U').transform('count') == 1 ]

U G
111 1 ar 1
112 1 es 5
113 3 en 2
114 4 ca 1

还可以:

>>> grouped[ grouped.groupby(level='U').rank(method='max') == 1 ]

关于python - pandas - 分组、计数值并删除相同的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32246922/

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