Python-不确定如何将一列中的行值汇总到列表中

时间:2018-11-08 17:59:41

标签: python pandas dataframe

这里是一个例子:

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 个答案:

答案 0 :(得分:2)

您可以使用groupbyapply

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