Python 使用另一个列作为索引,将一个列转换为一行
我希望在数据帧中转置一列,使其成为一行,同时使用另一行作为索引。具体地说,我需要ColA=='1'的所有ColB值成为RowA的值,需要ColA=='2'的所有ColB值成为RowB的值 i、 e.我需要转向:Python 使用另一个列作为索引,将一个列转换为一行,python,pandas,dataframe,pivot,pandas-groupby,Python,Pandas,Dataframe,Pivot,Pandas Groupby,我希望在数据帧中转置一列,使其成为一行,同时使用另一行作为索引。具体地说,我需要ColA=='1'的所有ColB值成为RowA的值,需要ColA=='2'的所有ColB值成为RowB的值 i、 e.我需要转向: 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.
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
让我们使用
groupby
、apply
和reset\u index
:
df.groupby('ColA').apply(lambda x: x.reset_index().ColB)
输出:
ColB 0 1 2
ColA
1.0 1.1 12.2 4.5
2.0 5.1 7.7 9.5
让我们使用
groupby
、apply
和reset\u index
:
df.groupby('ColA').apply(lambda x: x.reset_index().ColB)
输出:
ColB 0 1 2
ColA
1.0 1.1 12.2 4.5
2.0 5.1 7.7 9.5
apply~的用法很好:)谢谢你的发帖!不幸的是,这似乎没有将ColB列转换成一行-我不知道为什么。有关详细信息,请参阅OP上的更新。apply~的用法很好:)谢谢发布!不幸的是,这似乎没有将ColB列转换成一行-我不知道为什么。有关详细信息,请参阅OP上的更新。