Xóa tên chỉ mục trong gấu trúc


80

Tôi có một khung dữ liệu như sau:

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

Làm cách nào để xóa index name fookhỏi khung dữ liệu đó? Đầu ra mong muốn như sau:

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

df.index.name = None
ru111

Câu trả lời:


71

Sử dụng 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
Với pandasphiên bản 1.0.3, điều này dường như không hoạt động nữa. Nó không thành công với "AttributeError: không thể xóa thuộc tính".
billjoie

1
@billjoie bạn có biết cách giải quyết vấn đề này trong pandas 1.0.3 không. , vì del df.index.namekhông hoạt động
ctrl_z

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

1
@billjoie Hãy chúc phúc cho trái tim của bạn. Đã ở trên này một thời gian. Del df.index.name đó không hoạt động với phiên bản gấu trúc mới hơn.
Chen Lizi

75

Ngoài ra, bạn có thể chỉ định Nonecho index.namethuộc tính:

In [125]:

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

Apples          1
Oranges         2
Puppies         3
Ducks           4

43

Từ phiên bản 0.18.0bạn có thể sử dụng 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

10

Tôi đã mất quá nhiều thời gian để tìm ra câu trả lời thực sự phù hợp với tôi. Xem bên dưới.

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

Tôi chắc chắn rằng một số câu trả lời khác trong số này có hiệu quả với người khác, nhưng chúng chắc chắn không hiệu quả với tôi :(


Đây là câu trả lời duy nhất phù hợp với tôi; sử dụng rename_axis () và thêm axis = 1
zipline86

Đây là câu trả lời chính xác!
Indrajit
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.