[英]Convert a specific column into row names in Pandas
我有这个DF
print(df)
head0 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
我想用什么来使用head0
作为行名:
head1 head2 head3
bar 32 3 100
bix 22 NaN NaN
foo 11 1 NaN
qux NaN 10 NaN
xoo NaN 2 20
我怎样才能做到这一点?
只是为了扩展nitin的答案set_index
:
In [100]:
df.set_index('head0')
Out[100]:
head1 head2 head3
head0
bar 32 3 100
bix 22 NaN NaN
foo 11 1 NaN
qux NaN 10 NaN
xoo NaN 2 20
请注意,这会返回df,因此您必须返回df,如: df = df.set_index('head0')
或set param df.set_index('head0', inplace=True)
inplace=True
: df.set_index('head0', inplace=True)
您也可以直接分配到索引:
In [99]:
df.index = df['head0']
df
Out[99]:
head0 head1 head2 head3
head0
bar bar 32 3 100
bix bix 22 NaN NaN
foo foo 11 1 NaN
qux qux NaN 10 NaN
xoo xoo NaN 2 20
请注意,执行上述操作将要求您删除无关的“head0”列,这可以通过调用drop
来完成,如下所示: df.drop('head0', axis=1)
您可以对数据帧使用set_index方法,就像这样
df.set_index(df.head0)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.