pandas groupby在多列中连接字符串

时间:2015-08-20 12:06:40

标签: python pandas group-by

我有这个pandas数据框:

df = DataFrame({'id':['a','b','b','b','c','c'], 'category':['z','z','x','y','y','y'], 'category2':['1','2','2','2','1','2']})

看起来像:

  category category2 id
0        z         1  a
1        z         2  b
2        x         2  b
3        y         2  b
4        y         1  c
5        y         2  c

我想做的是分组id并将其他两列作为唯一字符串的串联返回。

结果如下:

  category category2 id
0        z         1  a
1      zxy         2  b
2        y        12  c

1 个答案:

答案 0 :(得分:5)

使用android:theme="@style/AppTheme.Transparent" 汇总群组。对于每个组,请应用groupby/agg来查找唯一字符串,并set连接字符串:

''.join

要将In [34]: df.groupby('id').agg(lambda x: ''.join(set(x))) Out[34]: category category2 id a z 1 b yxz 2 c y 12 从索引移至结果DataFrame的列,请致电id

reset_index