Pandas DataFrame默认索引列名称、引用及重命名方法问询
Pandas 索引相关问题解答
1. Pandas DataFrame的默认索引列名称是什么?
Pandas的默认索引没有正式的列名,它是DataFrame的内置索引对象,并非常规意义上的列。只有当你调用reset_index()将索引转为普通列时,这个新列的默认名称才是index,但这不是原索引本身的名称——原索引的name属性默认值为None。
2. 如何在不使用reset_index()的前提下引用默认索引?
直接通过df.index即可访问默认索引。如果要将它与其他列一起设置为多级索引,不能直接写'index'(因为这不是实际存在的列名),需要传入df.index对象,示例代码如下:
# 将默认索引与second_column一起设为多级索引 df.set_index([df.index, 'second_column'])
额外:如何重命名默认索引的名称?
默认索引不是常规列,因此不能用rename(columns=...)方法修改它的名称,正确的做法是使用rename_axis()方法,示例代码:
# 重命名默认索引的名称为new_column_name df.rename_axis('new_column_name')
如果你的需求是把索引转为列后再重命名,那可以先调用reset_index(),再用rename(columns={'index': 'new_column_name'}),但这已经用到了reset_index(),不符合题干“不使用reset_index()”的前提。
内容的提问来源于stack exchange,提问作者lolo
相关产品推荐
相关产品推荐

