DataFrame.rename(self, mapper=None, index=None, columns=None, axis=None, copy=True, inplace=False, level=None, errors='ignore') [source]
更改轴标签。
Function/dict值必须唯一(1对1)。dict/Series
中未包含的标签将保持原样。列出的其他标签不会引发错误。
有关更多信息,请参见用户指南。
参数: | mapper: 类似字典或函数 类似Dict或函数的转换,以应用于该轴的值。 二者必选其一 并 或 index: 类似字典或函数 指定axis (
columns: 类似字典或函数 指定axis ( axis: 轴到目标与 可以是轴名 默认为 copy: 还要复制底层数据。 inplace: 是否返回一个新的 则忽略copy的值。 level: 对于多索引,只能在指定的级别重命名标签。 errors: 如果 索引或列包含正在转换的索引中不存在的标签时引发键错误。 如果 额外的键将被忽略。 |
返回值: |
与调用者相同的类型, 但每个轴上的索引均已更改。 |
Raises: |
如果在选定的轴中找不到任何标签, 则为 |
例子,
DataFrame.rename 支持两种调用约定:
1) (index=index_mapper, columns=columns_mapper, ...)
2) (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