gpt4 book ai didi

Python Panda 百分比计算

转载 作者:行者123 更新时间:2023-11-28 20:02:56 25 4
gpt4 key购买 nike

尝试在 Python Pandas 上计算百分比

   1  2
0 A 0
1 A 1
2 A 2
3 B 0
4 B 0
5 B 1.5
6 B 0

输出得分高于 0 的 A 和 B 的百分比。

A = 66%
B = 25%

最佳答案

  • 在第二列上创建一个 bool 过滤器 ((df['2'] > 0))
  • 按第一列分组
  • sumsize聚合(sum会统计满足条件的)
  • 将总和除以大小得到百分比:

res = (df['2'] > 0).groupby(df['1']).agg(['sum', 'size'])    
res['sum'] / res['size']

Out:
1
A 0.666667
B 0.250000
dtype: float64

这可以使用 lambda 表达式以更紧凑的方式完成:

df.groupby('1')['2'].agg(lambda x: (x > 0).sum() / x.size)
Out:
1
A 0.666667
B 0.250000
Name: 2, dtype: float64

但我怀疑第一个更有效率。

关于Python Panda 百分比计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44553073/

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