pandas.DataFrame.rename_axis#

DataFrame.rename_axis(mapper=<no_default>, *, index=<no_default>, columns=<no_default>, axis=0, copy=<no_default>, inplace=False)[源代码]#

设置索引或列的轴名称。

参数:
mapper标量, 类列表, 可选

用于设置轴名称属性的值。

使用 mapperaxis 来指定要定位到 mapper 的轴,或者使用 index 和/或 columns

index标量、类列表、类字典或函数,可选

要应用于该轴值的标量、类列表、类字典或函数转换。

columns标量, 类列表, 类字典或函数, 可选

要应用于该轴值的标量、类列表、类字典或函数转换。

axis{0 或 ‘index’, 1 或 ‘columns’}, 默认为 0

要重命名的轴。

copybool,默认值 False

此关键字已被忽略;更改其值将不会影响方法。

已弃用,版本 3.0.0: 此关键字已被忽略,并将在 pandas 4.0 中删除。自 pandas 3.0 起,此方法始终返回一个新对象,并使用延迟复制机制,该机制会推迟复制直到必要时(写时复制)。有关更多详细信息,请参阅关于写时复制的用户指南

inplacebool, default False

直接修改对象,而不是创建新的 Series 或 DataFrame。

返回:
DataFrame,或 None

与调用者相同的类型,如果 inplace=True 则为 None。

另请参阅

Series.rename

更改 Series 索引标签或名称。

DataFrame.rename

修改 DataFrame 索引标签或名称。

Index.rename

设置索引上的新名称。

注意

DataFrame.rename_axis 支持两种调用约定

  • (index=index_mapper, columns=columns_mapper, ...)

  • (mapper, axis={'index', 'columns'}, ...)

第一种调用约定将仅修改索引的名称和/或作为列的 Index 对象的名称。在这种情况下,参数 copy 将被忽略。

第二种调用约定如果 mapper 是列表或标量,将修改相应索引的名称。但是,如果 mapper 是类字典或函数,它将使用修改轴标签的已弃用行为。

我们*强烈*建议使用关键字参数来阐明您的意图。

示例

DataFrame

>>> df = pd.DataFrame(
...     {"num_legs": [4, 4, 2], "num_arms": [0, 0, 2]}, ["dog", "cat", "monkey"]
... )
>>> df
        num_legs  num_arms
dog            4         0
cat            4         0
monkey         2         2
>>> df = df.rename_axis("animal")
>>> df
        num_legs  num_arms
animal
dog            4         0
cat            4         0
monkey         2         2
>>> df = df.rename_axis("limbs", axis="columns")
>>> df
limbs   num_legs  num_arms
animal
dog            4         0
cat            4         0
monkey         2         2

MultiIndex

>>> df.index = pd.MultiIndex.from_product(
...     [["mammal"], ["dog", "cat", "monkey"]], names=["type", "name"]
... )
>>> df
limbs          num_legs  num_arms
type   name
mammal dog            4         0
       cat            4         0
       monkey         2         2
>>> df.rename_axis(index={"type": "class"})
limbs          num_legs  num_arms
class  name
mammal dog            4         0
       cat            4         0
       monkey         2         2
>>> df.rename_axis(columns=str.upper)
LIMBS          num_legs  num_arms
type   name
mammal dog            4         0
       cat            4         0
       monkey         2         2