如何获得每年哪个球员得分最高?
How to get Maximum points scored by which player in each year?
我有这样的数据集 -
Name Point Year
Player1 498.0 2010
Player2 454.0 2010
Player1 396.0 2011
Player3 214.0 2011
player2 163.0 2011
现在我想看看每年哪个玩家得分最高。
我试过了 -
Maximum_score = df.groupby(['Year'])['Point'].max()
得到了结果-
年
2010 498.0
2011 396.0
但我也想要球员名字。如何做到这一点?
不要将它们存储在变量 maximum_score
中,因为这样做只是将数据框修改为一列。
只需在下一行调用 df
,您就会得到结果:
# maximum calcualtion
df.groupby(['Year'])['Point'].max()
df//print(df)
您可以使用布尔索引。 groupby
在 Year 上找到最高分(就像你已经做的那样)+ transform
每个组中每个玩家的每个组的最大值,并筛选出每个组中得分最高的玩家:
out = df[df.groupby(['Year'])['Point'].transform('max') == df['Point']]
输出:
Name Point Year
0 Player1 498.0 2010
2 Player1 396.0 2011
我有这样的数据集 -
Name Point Year
Player1 498.0 2010
Player2 454.0 2010
Player1 396.0 2011
Player3 214.0 2011
player2 163.0 2011
现在我想看看每年哪个玩家得分最高。
我试过了 -
Maximum_score = df.groupby(['Year'])['Point'].max()
得到了结果-
年
2010 498.0
2011 396.0
但我也想要球员名字。如何做到这一点?
不要将它们存储在变量 maximum_score
中,因为这样做只是将数据框修改为一列。
只需在下一行调用 df
,您就会得到结果:
# maximum calcualtion
df.groupby(['Year'])['Point'].max()
df//print(df)
您可以使用布尔索引。 groupby
在 Year 上找到最高分(就像你已经做的那样)+ transform
每个组中每个玩家的每个组的最大值,并筛选出每个组中得分最高的玩家:
out = df[df.groupby(['Year'])['Point'].transform('max') == df['Point']]
输出:
Name Point Year
0 Player1 498.0 2010
2 Player1 396.0 2011