pandas.DataFrame.rename 是一个非常常用且重要的函数,用于修改 DataFrame 的行或列标签(索引或列名)。这个方法非常灵活,可以进行一对一的映射,也可以使用函数进行批量修改,而且可以原地修改或者返回一个新的 DataFrame。rename() 不会修改原始 DataFrame,除非设置 inplace=True。本文主要介绍一下Pandas中pandas.DataFrame.rename方法的使用。

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:intstr

轴到目标与mapper

可以是轴名(' index ', ' columns ')或数字(0,1)

默认为' index '

copy:bool, 默认 True

还要复制底层数据。

inplace:bool, 默认为 False

是否返回一个新的DataFrame。如果为真,

则忽略copy的值。

level:intlevel name, 默认 None

对于多索引,只能在指定的级别重命名标签。

errors:{‘ignore’, ‘raise’}, 默认 ‘ignore’

如果‘raise’,则在类似于dict的映射器、

索引或列包含正在转换的索引中不存在的标签时

引发键错误。

如果 ‘ignore’,现有的键将被重命名,

额外的键将被忽略。

返回值:

SeriesDataFrame

与调用者相同的类型,

但每个轴上的索引均已更改。

Raises:

KeyError

如果在选定的轴中找不到任何标签,

则为“errors=’raise’”

例子,

DataFrame.rename 支持两种调用约定:

(index=index_mapper, columns=columns_mapper, ...)

 (mapper, axis={'index', 'columns'}, ...)

强烈建议使用关键字参数来阐明意图。

 1)重命名列名

import pandas as pd

df = pd.DataFrame({
    'A': [1, 2],
    'B': [3, 4]
})
df_renamed = df.rename(columns={'A': 'Alpha', 'B': 'Beta'})
print(df_renamed)

2)重命名行索引

import pandas as pd

df = pd.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]})
df_renamed = df.rename(index={0: "x", 1: "y", 2: "z"})
print(df_renamed)

3)使用函数批量重命名列

import pandas as pd

df = pd.DataFrame({
    'a': [1],
    'b': [2]
})
df_renamed = df.rename(columns=str.upper)
print(df_renamed)

4)将索引标签转换为字符串类型

import pandas as pd

df = pd.DataFrame({
    'a': [1],
    'b': [2]
})
print(df.index)  # RangeIndex(start=0, stop=3, step=1)
print(df.rename(index=str).index)

5)尝试重命名不存在的列,触发 KeyError

import pandas as pd

df = pd.DataFrame({
    'a': [1],
    'b': [2]
})
df.rename(columns={"A": "a", "B": "b", "C": "c"}, 
errors="raise")

推荐文档

相关文档

大家感兴趣的内容

随机列表