Как дублировать столбцы с префиксом/суффиксом при выравнивании DataFrameGroupByPython

Программы на Python
Ответить
Anonymous
 Как дублировать столбцы с префиксом/суффиксом при выравнивании DataFrameGroupBy

Сообщение Anonymous »

Я работаю над проектом по изучению Python и экспериментированию с машинным обучением, использующим данные из общедоступного API НХЛ. До сих пор мне удавалось обучаться с помощью документации и поиска в Google, но я зашел в тупик из-за своей текущей проблемы.
Мои текущие сгруппированные данные выглядят примерно так:



gameId
teamId
цели
помощь
...
раздача
вынос




2022020001
18
4
8
...
3
4



28
1
2
...
7
3


2022020002
18
3
6
...
7
11



28
2
4
...
9
6



У меня также есть отдельная исходная таблица с общими метаданными игры. Записи для этих игр выглядят примерно так:



сезон
gameType
...
homeTeam
awayTeam
winner *




20222023
2
...
18
28
1


20222023
2
...
28
18
-1



* 1 – победа хозяев поля, -1 — победа команды гостей
Я хочу, чтобы каждая строка в конечном DataFrame представляла общую статистику для одной игры, поэтому мне нужно дублировать столбцы статистики, чтобы не смешивать статистику команды хозяев и команды гостей для данной игры.
Для двух приведенных выше игр в качестве примера это должно выглядеть примерно так:



Идентификатор игры
Идентификатор команды
hame_goals
home_assists
...
away_giveaways
away_takeaways




2022020001
18
4
8
...
7
3


2022020002
18
3
6
...
9
6



У меня вообще-то есть еще один DataFrame со статистикой вратаря (приведенный пример – статистика фигуристов), поскольку фактическая отслеживаемая статистика отличается, поэтому будет другой набор столбцов home_*/away_* со статистикой вратаря.
Пока я делаю это:

Код: Выделить всё

skaters_reduced = skaters_reduced.reset_index()
goalies_reduced = goalies_reduced.reset_index()

game_stats = pd.merge(
skaters_reduced,
goalies_reduced,
how='outer',
on=[Keys.game_id, Keys.team_id])
game_stats = game_stats.set_index(Keys.game_id)
...который дает мне такой DataFrame:



gameId
teamId
целей
помощников
...
shorhandedSavesAgainst
overallSavesAgainst




2022020001
18
4
8
...
8
30


2022020001
28
1
2
...
8
28


2022020002
18
3
6
...
7
31


2022020002
28
2
4
...
2
15



Я просто не знаю, как действовать, или я иду по неправильному пути.

Подробнее здесь: https://stackoverflow.com/questions/798 ... amegroupby
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»