我正在寻找在数据框内转置一列,使其成为一行,同时使用另一行作为索引的方法。具体来说,我需要将ColA =='1'的所有ColB值变为RowA的值,并将ColA =='2'的所有ColB变为RowB的值。
即我需要转:
index ColA ColB
0 1.0 1.1
1 1.0 12.2
2 1.0 4.5
3 2.0 5.1
4 2.0 7.7
5 2.0 9.5
进入...
ColB
0 1 2
ColA
1.0 1.1 12.2 4.5
2.0 5.1 7.7 9.5
------更新#1 --------
参考@Scott_Boston提供的答案:
df.groupby('ColA').apply(lambda x: x.reset_index().ColB)
似乎给我:
ColA
1.0 0 1.1
1 12.2
2 4.5
2.0 0 5.1
1 7.7
2 9.5
最佳答案
df.groupby('ColA').ColB.apply(list).apply(pd.Series).rename_axis('ColB',1)
Out[113]:
ColB 0 1 2
ColA
1.0 1.1 12.2 4.5
2.0 5.1 7.7 9.5
关于python - 使用另一个col作为索引将pandas col转换为一行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46717954/