我花了好几个小时搞清楚但却没有。
我有一个数据集salaries
,其中包含以下列 -
['yearID' 'teamID' 'lgID' 'playerID' 'salary']
它列出了每个队员每年的薪水。
我有另一个数据集teams
,其中包含以下列 -
['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
答案 0 :(得分:1)
然后尝试这个解决方案:
Salaries = Salaries.groupby(['yearID','teamID']).sum()
Salaries = Salaries.reset_index()
data = pd.merge(df_salaries, df_teams, on=['yearID','teamID'])
答案 1 :(得分:0)
这对你有用吗?
teams['Total Salaries'] = list(salariesGrouped.salary)