我使用python3的数据帧。
A B C D E
0 foo 0 1.2 1 2
1 foo 1 1.3 2 4
2 foo 2 2.1 2 5
3 foo 3 3.1 3 5
4 nan 0 0 0 0
5 bar 0 4.1 4 6
6 bar 1 1.2 5 8
7 bar 2 1.4 6 9
8 bar 3 5.0 7 9
我想把它重塑为
0 1 2 3
A C D E C D E C D E C D E
0 foo 1.2 1 2 1.3 2 4 2.1 2 5 3.1 3 5
1 bar 4.1 4 6 1.2 5 8 1.4 6 9 5.0 7 9
到目前为止,我已经尝试了这篇文章中的例子,但它创造了价值观的集合,而我只是在重塑方面并不成功。如有任何帮助,我们将不胜感激。
我们可以在set_index
之后尝试unstack
,然后用sort_index
+swaplevel
修剪索引
out = df.dropna().set_index(['A','B']).unstack().sort_index(level=1,axis=1).swaplevel(0,1,axis=1).reset_index()
Out[62]:
B A 0 1 2 3
C D E C D E C D E C D E
0 bar 4.1 4 6 1.2 5 8 1.4 6 9 5.0 7 9
1 foo 1.2 1 2 1.3 2 4 2.1 2 5 3.1 3 5