下面是一个例子:
df1:
X Y Z
1 a cat
1 a dog
2 b hi
2 b hello
2 b hey
最后的df应该是这样的。
df2:
X Y Z
1 a [cat, dog]
2 b [hi, hello, hey]
我真的被卡住了,甚至在处理这个问题时都遇到了麻烦。任何帮助都将不胜感激。
您可以使用groupby
和apply
:
df.groupby(['X', 'Y'])['Z'].apply(list)
返回
X Y
1 a [cat, dog]
2 b [hi, hello, hey]
Name: Z, dtype: object
编辑:可以只应用list
,而不是@timegb在评论中建议的Series.tolist
。