dask_expr._collection.DataFrame.rename_axis
dask_expr._collection.DataFrame.rename_axis¶
- DataFrame.rename_axis(mapper=_NoDefault.no_default, index=_NoDefault.no_default, columns=_NoDefault.no_default, axis=0)¶
设置索引或列的轴名称。
此文档字符串是从 pandas.core.frame.DataFrame.rename_axis 复制而来的。
Dask 版本可能存在一些不一致性。
- 参数
- 映射器标量, 类列表, 可选
设置轴名称属性的值。
- 索引, 列标量、类列表、类字典或函数,可选
要应用于该轴值的标量、类列表、类字典或函数变换。请注意,如果对象是 Series,则不允许使用
columns参数。此参数仅适用于 DataFrame 类型的对象。使用
mapper和axis来指定mapper要作用的轴,或者使用index和/或columns。- 轴{0 或 ‘index’, 1 或 ‘columns’}, 默认 0
要重命名的轴。对于 Series,此参数未使用并默认为 0。
- 复制bool, 默认 None (Dask 不支持)
同时复制底层数据。
备注
copy 关键字将在 pandas 3.0 中改变行为。写时复制 将被默认启用,这意味着所有带有 copy 关键字的方法将使用延迟复制机制来推迟复制并忽略 copy 关键字。copy 关键字将在未来版本的 pandas 中被移除。
您已经可以通过启用写时复制
pd.options.mode.copy_on_write = True来获得未来的行为和改进。- 就地bool, 默认 False (Dask 中不支持)
直接修改对象,而不是创建新的 Series 或 DataFrame。
- 返回
- Series, DataFrame, 或 None
与调用者相同类型的对象,如果
inplace=True则为 None。
参见
Series.rename修改系列索引标签或名称。
DataFrame.rename修改 DataFrame 的索引标签或名称。
Index.rename在索引上设置新名称。
注释
DataFrame.rename_axis支持两种调用约定(index=index_mapper, columns=columns_mapper, ...)(mapper, axis={'index', 'columns'}, ...)
第一种调用约定只会修改索引的名称和/或作为列的Index对象的名称。在这种情况下,参数
copy被忽略。第二种调用约定将修改相应索引的名称,如果mapper是一个列表或标量。然而,如果mapper是类字典或函数,它将使用修改轴*标签*的已弃用行为。
我们*强烈*建议使用关键字参数来明确你的意图。
示例
系列
>>> 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