You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pandas如何统计列值出现次数并除以另一列求和值计算英雄联盟英雄胜率

实现步骤

  1. 若你目前的胜负结果列如果是文本类标识,先转为可计算的数值格式,将获胜映射为1、失败映射为0:
# 替换代码中对应字段为你实际的列名和获胜对应取值即可
df['is_win'] = df['你的胜负结果列名'].apply(lambda x: 1 if x == '获胜标识' else 0)

如果你的胜负列本身就是1/0的数值格式,可直接跳过这一步。

  1. 按上场英雄列分组,对胜负结果列求和得到每个英雄的总胜场数:
# 替换为你实际的上场英雄列名
win_total = df.groupby('上场英雄列名')['is_win'].sum()
  1. 匹配你已经统计好的英雄出场次数,合并计算胜率:
# 你已完成的出场次数统计
appear_total = df['上场英雄列名'].value_counts()

# 合并统计结果生成新表
stat_df = pd.DataFrame({
    '出场次数': appear_total,
    '胜场数': win_total
})

# 计算胜率,保留2位小数转为百分比格式
stat_df['胜率(%)'] = (stat_df['胜场数'] / stat_df['出场次数'] * 100).round(2)

注意:你问题中描述的“出场次数除以获胜总场次得到胜率”为表述错误,实际胜率应为胜场数除以出场次数,上述代码已按正确逻辑实现,若确实需要反向计算可自行修改除法顺序。

  • 可选操作:按胜率从高到低排序,追加如下代码即可
stat_df = stat_df.sort_values('胜率(%)', ascending=False)

内容的提问来源于stack exchange,提问作者Jrblack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 20:06:04