#python #pandas
#python #pandas
Вопрос:
Новичок в python и просто надеется получить некоторую помощь
У меня есть фрейм данных, который представляет собой игроков, команду и количество бросков в игре. Я хочу создать столбец, который представляет собой долю бросков команды, которые делает игрок, поэтому мой фрейм данных выглядит примерно так
Игрок | Команда | Снимки |
---|---|---|
ПлайЯ | A | 4 |
Воспроизведение | A | 6 |
Воспроизведение | B | 5 |
PlayD | B | 15 |
и то, что я хочу, это
Игрок | Команда | Снимки | Выстрел Реквизит |
---|---|---|---|
ПлайЯ | A | 4 | 0.4 |
Воспроизведение | A | 6 | 0.6 |
Воспроизведение | B | 5 | 0.25 |
PlayD | B | 15 | 0.75 |
Но на самом деле нет установленного количества игроков или команд
Любая помощь очень ценится
Спасибо, Дэйв
Комментарии:
1.
df['Short Prop'] = df['Short'] / df.groupby('Team')['Short'].transform('sum')
.
Ответ №1:
Используйте Series.div
с GroupBy.transform
и sum
для повторения агрегированных значений для последовательного сопоставления с тем же размером, что и оригинал:
df['Short Prop'] = df['Short'].div(df.groupby('Team')['Short'].transform('sum'))