我想转置数据框中的一列,使其成为一行,同时使用另一行作为索引。具体来说,我需要所有 ColB 值,其中 ColA == '1' 成为 RowA 的值,以及所有 ColB 其中 ColA == '2' 成为 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
