我有以下类型的数据。如何按行组合行,类型记录一个单独的列(所有类型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
答案 0 :(得分:2)
我认为您可以将groupby
与apply
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