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或函数的转换,以应用于该轴的值。
二者必选其一mapper,
并axis与指定轴的目标mapper,
或index和 columns。
index: 类似字典或函数
指定axis (mapper,
axis=0相当于index=mapper)的替代方法。
columns: 类似字典或函数
指定axis (mapper, axis=1等同于columns=mapper)的替代方法。
axis:int 或 str
轴到目标与mapper。
可以是轴名(' index ', ' columns ')或数字(0,1),
默认为' index '。
copy:bool, 默认 True
还要复制底层数据。
inplace:bool, 默认为 False
是否返回一个新的DataFrame。如果为真,
则忽略copy的值。
level:int 或 level name, 默认 None
对于多索引,只能在指定的级别重命名标签。
errors:{‘ignore’, ‘raise’}, 默认 ‘ignore’
如果‘raise’,则在类似于dict的映射器、
索引或列包含正在转换的索引中不存在的标签时引发键错误。
如果 ‘ignore’,现有的键将被重命名,
额外的键将被忽略。
返回值:Series 或 DataFrame:
与调用者相同的类型,
但每个轴上的索引均已更改。
Raises:KeyError
如果在选定的轴中找不到任何标签,
则为“errors=’raise’”。
例子,
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