Я потратил часы, выясняя это, но не смог.Группировка суммирования и присоединения в пандах
У меня есть набор данных salaries
со следующими columns-
['yearID' 'teamID' 'lgID' 'playerID' 'salary']
Он перечисляет зарплату каждого игрока каждой команды каждый год.
У меня есть еще один набор данных teams
со следующими columns-
['yearID', 'teamID', 'W']
Это список побед (обозначается W) каждой команды каждый год.
Используя эти два набора данных, я хочу, чтобы каждый набор данных имел зарплаты и выигрыши для каждой команды каждый год.
Я сделал много попыток и потерпел неудачу. Вот один:
Я сгруппировал в
salaries
набор данных по 'TeamID' и 'yearID'.Я подвел итоги, чтобы найти общую зарплату команды в конкретный год.
salariesGrouped = salaries.groupby(['teamID', 'yearID']).sum()
Я попытался ее слиянием с набором данных
teams
, но это не удалось, потому чтоsalariesGrouped
имеет только один столбец, а именно «зарплату».pd.merge(salariesGrouped, teams, on=['yearID', 'teamID'])
Что я должен делать?
Образец данных:
Зарплаты:
yearID teamID lgID playerID salary
1999 A X ABC 100
1999 A Y XXX 900
2000 B Z YYY 300
2001 A K ZZZ 200
команды:
yearID teamID W
1999 A 20
2000 B 30
2001 A 40
2002 D 10
Ожидаемый результат:
teamID yearID W salary
A 1999 20 1000
2000 40 200
B 2000 30 300
Он возвращает правильную сумму общей зарплаты для каждой команды, но ошибочное количество побед. Победы принадлежат команде и не должны складываться. – Lokesh
Можете ли вы показать нам образец ваших данных и каков желаемый результат? –
Хорошо. Я просто обновил вопрос с образцами данных и желаемым результатом. – Lokesh