pandas将列名转换为列

时间:2017-03-30 11:41:07

标签: python pandas dataframe

下面的

是数据框(默认索引)

    value 1901 1902 1903 1904
44   good  12   13   14   15
70   avge  23   24   25   26

(44,70是我不想要的指数)

输出应为:

time  good  avge
1901   12    23
1902   13    24
1903   14    25 
1904   15    26 

我尝试了df.T但不完全符合要求的格式。 非常感谢提前。 (你可以参考一些很好的教科书进行这种操作练习)。

1 个答案:

答案 0 :(得分:0)

您可以set_index使用T进行转置:

df = df.set_index('value').T
print (df)
value  good  avge
1901     12    23
1902     13    24
1903     14    25
1904     15    26

如果需要更改列和索引名称,请添加rename_axisreset_index

df = df.set_index('value').T.rename_axis(None,axis=1).rename_axis('time').reset_index()
print (df)
   time  good  avge
0  1901    12    23
1  1902    13    24
2  1903    14    25
3  1904    15    26