提问者:小点点

Python-不确定如何将列中的行值滚动到列表中[重复]


这里有一个例子:

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]

我真的被困住了,我甚至很难接近这个。任何帮助都将不胜感激。


共1个答案

匿名用户

您可以使用groupby应用

df.groupby(['X', 'Y'])['Z'].apply(list)

返回

X  Y
1  a          [cat, dog]
2  b    [hi, hello, hey]
Name: Z, dtype: object

编辑:可以按照@timegb在注释中的建议,只应用list而不是Series. tolist