如何在pandas中以特定方式转动数据帧

时间:2018-05-09 10:02:38

标签: python pandas dataframe

我对pandas数据帧有一个小问题。 如何从此

转动我的数据框
AGE       | GROUP-A | ... | GROUP-Q 
----------|---------|-----|---------
00-04     |77       |     |133
05-17     |117      |     |106
18-25     |64       |     |110

到这个

GROUP | 00-04 | 05-17 | 18-25 
------|-------|-------|-------
A     |77     |117    |64
...   |       |       | 
Q     |133    |106    |110

2 个答案:

答案 0 :(得分:3)

您可以通过设置'年龄'来实现您想要的结果。作为索引,后跟pd.DataFrame.transpose

df = pd.DataFrame({'AGE': ['00-04', '05-17', '18-25'],
                   'GROUP-A': [77, 117, 64],
                   'GROUP-Q': [133, 106, 110]})

res = df.set_index('AGE')\
        .transpose()

print(res)

AGE      00-04  05-17  18-25
GROUP-A     77    117     64
GROUP-Q    133    106    110

答案 1 :(得分:0)

使用@JPP设置,您可以使用以下内容在您的问题中获得您的确切预期输出。

df.set_index('AGE').rename(columns=lambda x: x[-1])\
  .T.rename_axis('GROUP').rename_axis([None], axis=1)\
  .reset_index()

输出:

  GROUP  00-04  05-17  18-25
0     A     77    117     64
1     Q    133    106    110

注意: .T.transpose相同,只是更容易输入。