python - 选择表中按 Pandas 分组的行

标签 python pandas

我正在制作一个表格,并通过名为“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/

相关文章:

python - 如何使用 gremlin python 连接到远程 Neo4j 数据库?

python - 在 SQLAlchemy 中使用临时表

python - 在 pandas 中聚合多个数据类型时如何获得一致的行为?

python - 从 ElasticSearch 结果创建 DataFrame

python - 如何用条件 pandas python 替换另一列中的列的值

匹配每个括号元素的 Python RegEx

python - 值错误: Row or column values must be at least 1 when using OpenPyXl

python - 如何使用 python 或 pandas 根据由字典列表组成的列来过滤 DataFrame?

python - 使用 pandas 的 Silhouette_score 的正确数据格式

支持多 channel 订阅者的Python可观察实现