Я сгенерировал некоторые примеры данных с помощью этого кода, пожалуйста, укажите, если формат правильный:
In[1]:
import numpy as np
import pandas as pd
hero = np.random.choice(['Ana', 'Reinhardt', 'Widow', 'Hanzo', 'Torb'], 30)
platform = np.random.choice(['XBL', 'PSN', 'PC'], 30)
winrate = np.random.rand(30) * 100
df = pd.DataFrame({'Hero': hero,
'Platform': platform,
'Winrate': winrate})
unique = df.groupby(['Platform', 'Hero']).agg({'Winrate': 'mean'}).reset_index()
unique.head()
Out[1]:
Platform Hero Winrate
0 PC Ana 33.721728
1 PC Hanzo 27.350393
2 PC Reinhardt 60.182229
3 PC Torb 71.929657
4 PC Widow 51.911960
Самый удобный способ построения данных в группах - это использовать seaborn
, который построен поверх matplotlib (см. sns.barplot
)
In[2]: import seaborn as sns
sns.barplot(data=unique, x='Hero', y='Winrate', hue='Platform')
