gpt4 book ai didi

python - 如何用 pandas 计算百分比和累积百分比

转载 作者:行者123 更新时间:2023-12-01 00:24:02 27 4
gpt4 key购买 nike

我根据发生事故的驾驶员计算出每个年龄段的百分比以及累计百分比(例如 39 岁以下的驾驶员涉及所有事故的 50%)

下面的代码可以工作,但我确信有一种更简洁/高效/清晰的方法可以做到这一点。

df = pd.DataFrame({'Age group': ['20-29','30-39','40-49','50-59','60 and up'], 
'Number accidents': [10000, 8000, 6000, 3000, 1000]})
num_accidents = sum(df['Number accidents'])
df['% accidents'] = df['Number accidents'] / num_accidents * 100
per_acc = 0
for i in df.index:
per_acc += df.loc[i,'% accidents']
df.loc[i,'% accidents accumulated'] = per_acc
df

以下是上述代码的输出。

   Age group  Number accidents  % accidents  % accidents accumulated
0 20-29 10000 35.714286 35.714286
1 30-39 8000 28.571429 64.285714
2 40-49 6000 21.428571 85.714286
3 50-59 3000 10.714286 96.428571
4 60 and up 1000 3.571429 100.000000

请帮忙提供更好的写法

最佳答案

您可以使用cumsum,请参阅https://pandas.pydata.org/pandas-docs/version/0.23/generated/pandas.Series.cumsum.html .

然后这就可以了:

df['% accidents accumulated'] = df['% accidents'].cumsum()

关于python - 如何用 pandas 计算百分比和累积百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58745294/

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