我正在制作一个表格,并通过名为“passer_player_name”的变量对其进行分组
data.loc[(data['play_type'] == 'pass') & (data['down'] <= 4)].groupby(by='passer_player_name')[['epa']].mean()
passer_index = data.loc[(data['play_type'] == 'pass') & (data['down'] <= 4)].groupby(by='passer_player_name')[['epa', 'success','yards_gained']].mean()
passer_index['attempts'] = data.loc[(data['play_type'] == 'pass') & (data['down'] <= 4)].groupby(by='passer_player_name')['epa'].count()
这给出了以下输出(一些示例行):
epa success yards_gained attempts
passer_player_name
L.Jackson 0.336 0.48 6.9 335
K.Cousins 0.295 0.50 7.1 363
P.Mahomes 0.285 0.50 7.4 368
我接下来要做的事情要求我使用“passer_player_name”列来抓取/排序我的表,但从技术上讲,这不是表的一部分。我尝试执行以下操作:
passer_index['passer_names'] = data.loc[(data['play_type'] == 'pass') & (data['down'] <= 4)].groupby(by='passer_player_name')['passer_player_name']
不幸的是,这在添加的列中给出了以下内容(这是一个示例行):
(L.Jackson, [L.Jackson, L.Jackson, L.Jackson, ...
我如何获得一个只显示一次玩家姓名的列,就像一个只输出“L.Jackson”的列(显然每个玩家的名字都不同)?
最佳答案
您是否尝试过合并:
df.sort_index()
当您的格式是您所拥有的方式时,您可以按此排序
关于python - 选择表中按 Pandas 分组的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59111747/