dask.dataframe.DataFrame.rename
dask.dataframe.DataFrame.rename¶
- DataFrame.rename(index=None, columns=None)[源代码]¶
重命名列或索引标签。
此文档字符串是从 pandas.core.frame.DataFrame.rename 复制过来的。
Dask 版本可能存在一些不一致性。
函数 / 字典值必须是唯一的(一对一)。不在字典 / 系列中的标签将保持原样。列出的额外标签不会引发错误。
更多信息请参见 用户指南。
- 参数
- 映射器类似字典或函数 (Dask 不支持)
应用于该轴值的字典式或函数变换。使用
mapper
和axis
来指定mapper
所针对的轴,或者使用index
和columns
。- 索引类似字典或函数 (Dask 不支持)
指定轴的替代方法(
mapper, axis=0
等同于index=mapper
)。- 列类似字典或函数
指定轴的替代方法(
mapper, axis=1
等同于columns=mapper
)。- 轴{0 或 ‘index’, 1 或 ‘columns’}, 默认 0 (在 Dask 中不支持)
要使用
mapper
映射的轴。可以是轴名称(’index’, ‘columns’)或数字(0, 1)。默认值是 ‘index’。- 复制bool, 默认 True (Dask 不支持)
同时复制底层数据。
备注
copy 关键字将在 pandas 3.0 中改变行为。写时复制 将被默认启用,这意味着所有带有 copy 关键字的方法将使用延迟复制机制来推迟复制并忽略 copy 关键字。copy 关键字将在未来版本的 pandas 中被移除。
您已经可以通过启用写时复制
pd.options.mode.copy_on_write = True
来获得未来的行为和改进。- 就地bool, 默认 False (Dask 中不支持)
是否修改 DataFrame 而不是创建一个新的。如果为 True,则忽略 copy 的值。
- 级别int 或级别名称,默认 None (在 Dask 中不支持)
在多索引的情况下,仅重命名指定级别的标签。
- 错误{‘ignore’, ‘raise’}, 默认 ‘ignore’ (Dask 不支持)
如果为 ‘raise’,当类似字典的 mapper、index 或 columns 包含在正在转换的 Index 中不存在的标签时,将引发 KeyError。如果为 ‘ignore’,现有的键将被重命名,多余的键将被忽略。
- 返回
- DataFrame 或 None
重命名轴标签后的 DataFrame,如果
inplace=True
则为 None。
- Raises
- KeyError
如果在选定的轴中找不到任何标签,并且 “errors=’raise’”。
参见
DataFrame.rename_axis
设置轴的名称。
示例
DataFrame.rename
支持两种调用约定(index=index_mapper, columns=columns_mapper, ...)
(mapper, axis={'index', 'columns'}, ...)
我们*强烈*建议使用关键字参数来明确你的意图。
使用映射重命名列:
>>> df = pd.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]}) >>> df.rename(columns={"A": "a", "B": "c"}) a c 0 1 4 1 2 5 2 3 6
使用映射重命名索引:
>>> df.rename(index={0: "x", 1: "y", 2: "z"}) A B x 1 4 y 2 5 z 3 6
将索引标签转换为不同类型:
>>> df.index RangeIndex(start=0, stop=3, step=1) >>> df.rename(index=str).index Index(['0', '1', '2'], dtype='object')
>>> df.rename(columns={"A": "a", "B": "b", "C": "c"}, errors="raise") Traceback (most recent call last): KeyError: ['C'] not found in axis
使用轴样式参数:
>>> df.rename(str.lower, axis='columns') a b 0 1 4 1 2 5 2 3 6
>>> df.rename({1: 2, 2: 4}, axis='index') A B 0 1 4 2 2 5 4 3 6