Я пытаюсь создать «широкий» набор данных с одной записью на игру, а не одной записью на команду на игру.Вот небольшой пример того, что у меня есть, а затем то, что я хотел бы иметь.
GAME-ID TEAM SCORE
0 123 Cleveland 95
1 123 Orlando 101
2 124 New York 104
3 124 Detroit 98
GAME-ID TEAM1 TEAM2 SCORE1 SCORE2
0 123 Cleveland Orlando 95 101
1 124 New York Detroit 104 98
Я могу установить флаг для счетчика игровых идентификаторов (см. Ниже), а затем использовать цикл for для итерации и установки значений условно, но подумал, что может быть более простой способ.
import pandas as pd
dict1 = {'GAME-ID':[123, 123, 124, 124],
'TEAM':['Cleveland', 'Orlando', 'New York', 'Detroit'],
'SCORE':[95, 101, 104, 98]}
df = pd.DataFrame(dict1)
df['GAME_ID_CT'] = df.groupby('GAME-ID').cumcount() + 1
print(df)
Результат из кода выше:
GAME-ID TEAM SCORE GAME_ID_CT
0 123 Cleveland 95 1
1 123 Orlando 101 2
2 124 New York 104 1
3 124 Detroit 98 2
Если есть способ сделать это с помощью столбца, а не группы циклов, это было бы замечательно.