将行名称转换为Pandas中的列
我有一个这样的Pandas 数据框:
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 个回答
11
你可以用一行代码来实现这个。
df.rename_axis("newhead").reset_index()
56
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
产生