使用pandas的df.apply方法统计各球员的失利场次数量
你可以结合groupby分组方法和你原来的apply判断逻辑实现需求,示例代码如下:
import pandas as pd df = pd.read_csv('C:/Users/sadik/Desktop/Data.csv') # 按球员列分组,下方'Player'请替换为你实际的球员姓名字段名 loss_df = df.groupby('Player').apply( lambda group: len(group[group['Result'] == 'Lost']), axis=0 ).reset_index(name='失利总次数') print(loss_df)
逻辑说明
你原来的代码是遍历全表所有行,判断每场比赛是否为失利,最后统计所有符合条件的总场次。调整后的代码先通过groupby将全表按球员拆分为多个仅包含单球员数据的子表,再对每个子表执行和原来一致的筛选计数逻辑,即可得到每个球员对应的失利总次数,输出结果和你预期的格式完全匹配。
内容的提问来源于stack exchange,提问作者Huzefa Sadikot
相关产品推荐
相关产品推荐

