簡體   English   中英

按多列分組並獲得總和和計數

[英]group by multiple columns and get a sum and count

我正在嘗試創建一個單一的數據框,可以在其中按年份、季節和聯賽可視化 5 個頻繁禁止字符。 我最初的 df 看起來像這樣:

    League  Year    Season  ban_1   ban_2   ban_3   ban_4   ban_5
0   NALCS   2015    Spring  Rumble  Kassadin Lissandra NaN NaN
1   NALCS   2015    Spring  Tristana Leblanc Nidalee NaN NaN
2   NALCS   2015    Spring  Kassadin Sivir  Lissandra NaN NaN
3   NALCS   2015    Spring  RekSai  Janna   Leblanc NaN NaN
4   NALCS   2015    Spring  JarvanIV Lissandra Kassadin NaN NaN

我希望它最后看起來像這樣:

Year    Season  League  Top 5 bans
2015    Spring  EULCS   [(Zed, 49), (Kassadin, 39), (Cassiopeia, 34), (RekSai, 33), (Nidalee, 30)]

在這一點上,我一直試圖讓它有意義,所以我嘗試了這個:

bans_info.groupby(['Year','Season', 'League', 'ban_1', 'ban_2', 'ban_3', 'ban_4', 'ban_5',]).sum()

和這個:

bans_info.groupby(['Year', 'Season', 'League']).ban_1.value_counts() 但最后還是沒有得到它我試圖單獨制作它但它變得太亂了

b1 = bans_info.groupby(['Year', 'Season', 'League']).ban_1.value_counts()
b2 = bans_info.groupby(['Year', 'Season', 'League']).ban_2.value_counts()
b12 = pd.merge(b1, b2, how='outer', on ='Year')

您需要使用.agg然后傳入列名和函數的字典。

您可以在此處找到更多詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM