将pandas DataFrame旋转90度

The*_*CAL 6 python pandas

基本上我想将pandas DataFrame旋转90度(顺时针),如果是的话

df:
    A B C D
  0 5 3 6 7
  1 6 3 5 2
Run Code Online (Sandbox Code Playgroud)

它会变成

df:
   6 5 A
   3 3 B
   5 6 C
   2 7 D
Run Code Online (Sandbox Code Playgroud)

有没有办法用枢轴或其他方式做到这一点?谢谢!

Jef*_*eff 19

转置它

In [1]: df = DataFrame([[5,3,6,7],[6,3,5,2]],index=[0,1],columns=list('ABCD'))

In [2]: df
Out[2]: 
   A  B  C  D
0  5  3  6  7
1  6  3  5  2

In [3]: df.T
Out[3]: 
   0  1
A  5  6
B  3  3
C  6  5
D  7  2
Run Code Online (Sandbox Code Playgroud)

我猜你真的想要这个

In [7]: df.T.reset_index().reindex(columns=[1,0,'index'])
Out[7]: 
   1  0 index
0  6  5     A
1  3  3     B
2  5  6     C
3  2  7     D
Run Code Online (Sandbox Code Playgroud)

  • 我更新到完全符合操作说明的内容,即使它不是那么有用 (2认同)
  • 另外,在您的答案中,您可能希望删除硬编码的列索引,并执行如下操作: `temp_df = df.T.reset_index(); temp_df[temp_df.columns[::-1]]` 用于这种特殊类型的旋转。 (2认同)