gpt4 book ai didi

python groupby 多列、计数和百分比

转载 作者:行者123 更新时间:2023-12-02 07:30:15 25 4
gpt4 key购买 nike

我有一个测试数据框:

data= (['a','test1', 'cat'], ['a','test1', 'cat'], ['b', 'test2', 'dog'])
pd.DataFrame(data, columns= ['col1','col2','col3'])

我如何能够按 col1、col2 和 col3 进行分组,并获得每个组的计数和百分比,并按最高的在顶部排序?

预期输出是:

a test1 cat 2 66.6
b test2 dog 1 33.3

谢谢!

最佳答案

这是使用 groupby.ngroup 的另一种方法和 value_counts :

g = df.groupby(['col1','col2','col3'],sort=False)
s = g.ngroup().value_counts(normalize=True,sort=False)
s.index = g.groups.keys()

out = g.size().to_frame('Size').assign(Percentage=s.mul(100).round(2)).reset_index()
<小时/>
  col1   col2 col3  Size  Percentage
0 a test1 cat 2 66.67
1 b test2 dog 1 33.33

关于python groupby 多列、计数和百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60996903/

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