你好,我有一个如下的数据框。我想通过转置来获得期望的结果,但遇到了麻烦。
x = ('P', 'P', 'O', 'DNP', 'D')
y = ('O', 'O', 'D', 'DNP', 'DNP')
z = ('P', 'P', 'O', 'U', 'DNP')
a = ('O', 'O', 'D', 'DNP', 'DNP')
b = ('P', 'DNP', 'O', 'U', 'DNP')
ID = ['ID1', 'ID2', 'ID3', 'ID4', 'ID5']
df = DataFrame(zip(ID, a, b, x, y, z), columns = ['id', 'a', 'b', 'x', 'y', 'z'])
id a b x y z
0 ID1 O P P O P
1 ID2 O DNP P O P
2 ID3 D O O D O
3 ID4 DNP U DNP DNP U
4 ID5 DNP DNP D DNP DNP
一个简单的 df.transpose() 方法会产生...
0 1 2 3 4
id ID1 ID2 ID3 ID4 ID5
a O O D DNP DNP
b P DNP O U DNP
x P P O DNP D
y O O D DNP DNP
z P P O U DNP
期望的输出如下所示......
ID1 a O
ID1 b P
ID1 x P
ID1 y O
ID1 z P
ID2 a O
ID2 b DNP
ID2 x P
ID2 y O
ID2 z P
等等其他类似的内容......非常感谢您的帮助!
reset_index
将索引级别移动到(DataFrame)列中。 - unutbu