Видаліть ім’я індексу в пандах


81

У мене такий фрейм даних, як цей:

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

df.index.name = None
ru111

Відповіді:


71

Використовуйте 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

21
З pandasверсією 1.0.3 це, здається, вже не працює. Це не вдається з "AttributeError: не вдається видалити атрибут".
billjoie

1
@billjoie чи знаєш ти, як вирішити цю проблему в pandas 1.0.3. , оскільки del df.index.nameне працює
ctrl_z

10
@mrn, La solution de @EdChum conctionne très bien:df.index.name = None
billjoie

1
@billjoie Благослови своє серце. Займався цим трохи часу. Це del df.index.name не працює з пізнішою версією pandas.
Chen Lizi

75

Як альтернативи ви можете просто призначити Noneдля index.nameатрибута:

In [125]:

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

Apples          1
Oranges         2
Puppies         3
Ducks           4

44

З версії 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

14

Мені знадобилося занадто багато часу, щоб знайти відповідь, яка насправді спрацювала для мене. Дивись нижче.

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

Я впевнений, що деякі з цих інших відповідей працюють на інших людей, але вони точно не працювали на мене :(


Це єдина відповідь, яка спрацювала для мене; з використанням rename_axis () та додаванням осі = 1
zipline86

Це правильна відповідь!
Індраджіт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.