У меня есть данные статистики лакросса с игроками, позициями, забитыми мячами и т. Д. (Хранятся в переменной с именем da)
Session Title PLAYER STARTER Number G A SH SOG GB DC T/O CT Pos
0 Opponent 1 Player1 False 1 0 0 0 0 0 0 0 0 M
1 Opponent 2 Player1 False 1 0 0 0 0 1 0 0 0 M
2 Opponent 3 Player1 False 1 0 0 0 0 0 1 0 0 M
3 Opponent 4 Player1 False 1 0 0 0 0 0 0 0 0 M
4 Opponent 5 Player1 False 1 0 0 0 0 1 0 0 0 M
Я хотел посмотреть, какие позиции наберут больше всего очков, голов иголевых передач (количество очков - просто количество голов + количество голевых передач)
Я придумал следующее:
poses = da.groupby(['Pos'])[['G','A']].sum()
poses = poses.drop(['GK'], axis = 0)
pose = poses.reset_index()
pose['Pts'] = pose['G']+pose['A']
opose = pd.melt(pose, id_vars='Pos', value_vars=['G', 'A'],
var_name='G/A', value_name='Count')
#display(opose)
dims = (15, 11)
fig, ax = plt.subplots(figsize=dims)
plt.subplot(121)
sns.barplot(x=opose['Pos'], y=opose['Count'], hue=opose['G/A'])
plt.subplot(122)
sns.barplot(x=pose['Pos'], y=pose['Pts']);
Поэтому я сгруппировал исходный фрейм данных da по позиции и получил суммы голови помогает, затем бросил вратарей и сделал колонку очков.После использования melt у меня было два работоспособных фрейма данных, и каждый из них был нанесен с использованием seaborn.
Мой главный вопрос: есть ли лучший способ сделать это?Я чувствую, что нужно просто найти общие цели и т. Д. Должен ли я использовать функцию группировки?Могу ли я получить эти визуализации более непосредственно из исходного кадра данных?![enter image description here](https://i.stack.imgur.com/Vs05E.png)