我有以下数据框:
game = pd.DataFrame({
'team': ['A', 'A', 'B', 'B', 'C', 'C', 'C'],
'members': [1, 2, 3, 4, 5, 6, 7]
})
game
team members
0 A 1
1 A 2
2 B 3
3 B 4
4 C 5
5 C 6
6 C 7
我想将列‘Members’中的值按组‘Team’连接起来形成一个列表,并将它们附加到一个新变量ALL_TEAM_MEMBERS.预期结果为:
team members all_team_members
0 A 1 [1, 2]
1 A 2 [1, 2]
2 B 3 [3, 4]
3 B 4 [3, 4]
4 C 5 [5, 6, 7]
5 C 6 [5, 6, 7]
6 C 7 [5, 6, 7]
我有以下我认为可以工作的代码,但结果并不像预期的那样
game['all_teamm_members'] = game.groupby('team').members.transform(lambda x : x.tolist())
附注:我知道我可以做到这一点,首先使用game.groupby('team').members.apply(lambda x : x.tolist())
在唯一组(团队)级别创建列表,然后将数据帧合并回原始数据帧,但是我真的很好奇如何使用transform()
来实现这一点