DataFrame.rename_axis(self, mapper=None, index=None, columns=None, axis=None, copy=True, inplace=False) [source]
设置索引或列的axis名称。
参数: | mapper : 设置axis名称属性的值。 index, columns : 类似 标量,类似于列表,类似于 以应用于该axis的值。 使用mapper和axis, 可以使用 指定要指定的轴。 在版本0.24.0中更改。 axis : {0 或 ‘index’, 1 或 ‘columns’}, 默认为 重命名的轴。 copy : 还要复制底层数据。 inplace : bool, 默认为 False 直接修改对象,而不是创建新的Series或DataFrame。 |
返回值: | Series, DataFrame, 或 None 类型与调用者相同,如果 |
Notes
DataFrame.rename_axis
支持两种调用约定
- (index=index_mapper, columns=columns_mapper, ...)
- (mapper, axis={'index', 'columns'}, ...)
第一个调用约定将仅修改索引的名称和/或作为列的Index
对象的名称。在这种情况下,该参数将copy
被忽略。
如果映射器是列表或标量,则第二个调用约定将修改相应索引的名称。但是,如果mapper
是dict
类或函数,它将使用不推荐的行为来修改轴标签。
我们强烈建议您使用关键字参数来阐明您的意图。
例子
Series
>>> s = pd.Series(["dog", "cat", "monkey"]) >>> s 0 dog 1 cat 2 monkey dtype: object >>> s.rename_axis("animal") animal 0 dog 1 cat 2 monkey dtype: object
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