删除熊猫中的索引名称


77

我有一个像这样的数据框:

In [10]: df
Out[10]: 
         Column 1
foo              
Apples          1
Oranges         2
Puppies         3
Ducks           4

如何index name foo从该数据框中删除?所需的输出是这样的:

In [10]: df
Out[10]: 
         Column 1             
Apples          1
Oranges         2
Puppies         3
Ducks           4

Answers:


72

使用 del df.index.name

In [16]: df
Out[16]:
         Column 1
foo
Apples          1
Oranges         2
Puppies         3
Ducks           4

In [17]: del df.index.name

In [18]: df
Out[18]:
         Column 1
Apples          1
Oranges         2
Puppies         3
Ducks           4

14
pandas1.0.3版中,这似乎不再起作用。它失败,并显示“ AttributeError:无法删除属性”。
billjoie

1
@billjoie您知道如何在熊猫1.0.3中解决此问题。,因为del df.index.name不起作用
ctrl_z

5
@ mrn,@ EdChum社区解决方案:df.index.name = None
billjoie

1
@billjoie祝福你的心。在这上花了一段时间。该del df.index.name不适用于更高版本的熊猫。
陈立子

67

或者,您可以只分配None给该index.name属性:

In [125]:

df.index.name = None
df
Out[125]:
         Column 1

Apples          1
Oranges         2
Puppies         3
Ducks           4

43

从版本0.18.0可以使用rename_axis

print df
         Column 1
foo              
Apples          1
Oranges         2
Puppies         3
Ducks           4

print df.index.name
foo


print df.rename_axis(None)
         Column 1
Apples          1
Oranges         2
Puppies         3
Ducks           4

print df.rename_axis(None).index.name
None

# To modify the DataFrame itself:
df.rename_axis(None, inplace=True)
print df.index.name
None

4

花了我很长时间才找到对我真正有用的答案。见下文。

df = df.rename_axis(None, axis = 1)

我确定其中一些其他答案对其他人有用,但是它们绝对对我没有用:(


这是唯一对我有用的答案。使用rename_axis()并添加axis = 1
zipline86
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.