我有以下数据集
id type value
0 1 A 10
1 1 C 120
2 2 B 20
3 2 C 40
4 3 A 10
5 3 B 50
我想在Python中将其转换为(1,A,10,C,120) (2,B,20,C,40) (3,A,10,B,50)
如有任何建议,我们将不胜感激
最佳答案
对id列执行groupby
。通过将其他两列转换为列表来迭代每个组,并添加与每个组编号对应的唯一值。最后,将它们转换为元组
并将它们附加到列表中。
grouped = df.groupby('id')
L = []
for _, grp in grouped:
L.append(tuple(grouped.get_group(_)['id'].unique().tolist() + grp[['type','value']].values.ravel().tolist()))
print(L)
#[(1, 'A', 10, 'C', 120), (2, 'B', 20, 'C', 40), (3, 'A', 10, 'B', 50)]
关于Python:转换数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40535163/