按ID组合行

时间:2016-11-24 17:36:21

标签: python pandas dataframe rows

我有以下类型的数据。如何按行组合行,类型记录一个单独的列(所有类型10)(或记录类型,在单个列中用逗号分隔)

id,type,value
1,8,value1
1,2,value1
1,7,value1
1,3,value1
1,10,value1
2,3,value1
2,8,value1
2,7,value1

期望的输出:

 id        type    value 
0   1  8,2,7,3,10  value1 
1   2       3,8,7  value1

1 个答案:

答案 0 :(得分:2)

我认为您可以将groupbyapply join一起使用,但首先将int转换为str

df = df.groupby('id')['type'].apply(lambda x: ','.join(x.astype(str))).reset_index()
print (df)
   id        type
0   1  8,2,7,3,10
1   2       3,8,7