将行名称转换为Pandas中的列

时间:2014-08-23 02:32:05

标签: python pandas

我有以下Pandas data frame

print(df)

     head1  head2  head3
bar     32      3    100
bix     22    NaN    NaN
foo     11      1    NaN
qux    NaN     10    NaN
xoo    NaN      2     20

我想要做的是将行名bar, bix, ...转换为这样的列 最后我有这样的事情:

    newhead     head1  head2  head3
0   bar         32      3    100
1   bix         22    NaN    NaN
2   foo         11      1    NaN
3   qux         NaN    10    NaN
4   xoo         NaN     2     20

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:26)

df.index.name = 'newhead'
df.reset_index(inplace=True)

产量

  newhead  head1  head2  head3
0     bar     32      3    100
1     bix     22    NaN    NaN
2     foo     11      1    NaN
3     qux    NaN     10    NaN
4     xoo    NaN      2     20

答案 1 :(得分:1)

您可以一行完成。

df.rename_axis("newhead").reset_index()