我有一個這樣的資料集 -
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
但我也想要玩家姓名。這個怎么做?
uj5u.com熱心網友回復:
您可以使用布爾索引。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
uj5u.com熱心網友回復:
不要將它們存盤在變數中maximum_score,因為這樣做你只是將資料框修改為一列。只需df在下一行呼叫,您就會得到結果:
# maximum calcualtion
df.groupby(['Year'])['Point'].max()
df//print(df)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/384392.html
標籤:Python 蟒蛇-3.x 熊猫 pandas-groupby 数据科学
上一篇:使用pandaspython讀取目錄中的excel檔案
下一篇:突出顯示列熊貓中的最大值和最小值
