按多个列分组,得到一个和和

2024-10-04 03:19:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个单一的数据框架,其中可以可视化的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\u info.groupby(['Year','Season','League']).ban\u 1.value\u 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')

Tags: infovaluenanyearseasongroupbyspringcounts