maxframe.dataframe.DataFrame.rename#

DataFrame.rename(mapper=None, index=None, columns=None, axis='index', copy=True, inplace=False, level=None, errors='ignore')#

更改轴标签。

函数/字典的值必须是唯一的(一对一)。不在字典/Series中的标签将保持原样。列出的额外标签不会引发错误。

参数:
  • mapper (dict-like or function) -- 应用于该轴值的类字典或函数变换。使用 mapperaxis 指定目标轴,或使用 indexcolumns

  • index (dict-like or function) -- 指定轴的替代方式(mapper, axis=0 等同于 index=mapper)。

  • columns (dict-like or function) -- 指定轴的替代方式(mapper, axis=1 等同于 columns=mapper)。

  • axis (int or str) -- 使用 mapper 指定的目标轴。可以是轴名称('index', 'columns')或数字(0, 1)。默认为 'index'。

  • copy (bool, default True) -- 同时复制底层数据。

  • inplace (bool, default False) -- 是否返回一个新的 DataFrame。如果为 True,则忽略 copy 的值。

  • level (int or level name, default None) -- 对于 MultiIndex,仅重命名指定层级中的标签。

  • errors ({'ignore', 'raise'}, default 'ignore') -- 如果为 'raise',当类字典的 mapperindexcolumns 包含不在被转换索引中的标签时,将引发 KeyError。如果为 'ignore',现有键将被重命名,多余键将被忽略。

返回:

具有重命名轴标签的 DataFrame。

返回类型:

DataFrame

抛出:

KeyError -- 如果在所选轴中找不到任何标签且 "errors='raise'"。

参见

DataFrame.rename_axis

设置轴的名称。

示例

DataFrame.rename 支持两种调用约定

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

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

我们 强烈 推荐使用关键字参数以明确意图。

使用映射重命名列:

>>> import maxframe.dataframe as md
>>> df = md.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]})
>>> df.rename(columns={"A": "a", "B": "c"}).execute()
   a  c
0  1  4
1  2  5
2  3  6

使用映射重命名索引:

>>> df.rename(index={0: "x", 1: "y", 2: "z"}).execute()
   A  B
x  1  4
y  2  5
z  3  6

将索引标签转换为不同类型:

>>> df.index.execute()
RangeIndex(start=0, stop=3, step=1)
>>> df.rename(index=str).index.execute()
Index(['0', '1', '2'], dtype='object')
>>> df.rename(columns={"A": "a", "B": "b", "C": "c"}, errors="raise").execute()
Traceback (most recent call last):
KeyError: ['C'] not found in axis

使用轴样式的参数

>>> df.rename(str.lower, axis='columns').execute()
   a  b
0  1  4
1  2  5
2  3  6
>>> df.rename({1: 2, 2: 4}, axis='index').execute()
   A  B
0  1  4
2  2  5
4  3  6