pandas.DataFrame.rename #
- 数据框。重命名(mapper = None, *, index = None, columns = None, axis = None, copy = None, inplace = False, level = None, errors = 'ignore')[来源]#
重命名列或索引标签。
函数/字典值必须是唯一的(一对一)。字典/系列中未包含的标签将保持原样。列出的额外标签不会引发错误。
请参阅用户指南了解更多信息。
- 参数:
- 类似字典或函数的映射器
应用于该轴值的类似字典或函数的转换。使用
mapper
和指定要使用、 或和axis
定位的轴。mapper
index
columns
- 类似字典或函数的索引
指定轴的替代方法( 相当于)。
mapper, axis=0
index=mapper
- 类似字典或函数的列
指定轴的替代方法( 相当于)。
mapper, axis=1
columns=mapper
- 轴{0 或 'index', 1 或 'columns'}, 默认 0
轴以 为目标
mapper
。可以是轴名称(“索引”、“列”)或数字(0、1)。默认为“索引”。- 复制布尔值,默认 True
同时复制基础数据。
笔记
copy关键字将改变 pandas 3.0 中的行为 。默认情况下会启用Copy-on-Write ,这意味着所有带有 copy关键字的方法都将使用惰性复制机制来推迟复制并忽略copy关键字。 copy关键字将在 pandas 的未来版本中删除。
您已经可以通过启用写入时复制来获得未来的行为和改进
pd.options.mode.copy_on_write = True
- inplace布尔值,默认 False
是否修改 DataFrame 而不是创建一个新的。如果为 True,则忽略复制值。
- level int 或级别名称,默认 None
对于多重索引,仅重命名指定级别中的标签。
- 错误{'ignore', 'raise'}, 默认 'ignore'
如果为“raise”,则当类似 dict 的映射器、索引或列包含正在转换的索引中不存在的标签时,将引发KeyError 。如果“忽略”,现有的键将被重命名,额外的键将被忽略。
- 返回:
- 数据框或无
具有重命名的轴标签的 DataFrame 或 None if
inplace=True
。
- 加薪:
- 按键错误
如果在选定的轴中找不到任何标签并且“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