gpt4 book ai didi

python - 如何按组计算两列值的比率?

转载 作者:太空宇宙 更新时间:2023-11-04 07:52:34 26 4
gpt4 key购买 nike

我有一个像这样的 pandas 数据框的航类列表:

airline        status          number    ...

Aer Lingus some error A 14 ...
Aeroflot success 47 ...
Air Canada success 2 ...
Air Dolomiti success 2 ...
Air Europa some error B 4 ...
Air France success 40 ...
Alitalia some error A 10 ...
....

我为每次成功或出错的航类调用一些 API。

我想要的是每家航空公司的成功率。所以我知道我可以使用 groupby 计算“airline”和“status”列中值的出现次数,但我无法计算值的比率。

def calculate_quote_success_ratios(flights):

success_ratio_per_airline = flights.groupby(['airline', 'status']).count()
# TODO: Include ratio with failures!

return success_ratio_per_airline

预期的输出应该是这样的:

airline        success_ratio

Aer Lingus 0.72
Aeroflot 0.845
Air Canada 0.935
Air Dolomiti 0.5
Air Europa ...
....

编辑:明确地说,df['numbers'] 列不相关。所以我只想计算每家航空公司“成功”与各种错误的百分比。

最佳答案

航类数量的分组计数

count_flight=df.groupby('airline').status.count()

分组成功次数

count_success=df[df['status']=='success'].groupby('airline').status.count()

pandas div 返回前两个数据帧的分组比率。

count_success.div(count_flight).fillna(0)

关于python - 如何按组计算两列值的比率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52857984/

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