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) -- 应用于该轴值的类字典或函数变换。使用
mapper和axis指定目标轴,或使用index和columns。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',当类字典的 mapper、index 或 columns 包含不在被转换索引中的标签时,将引发 KeyError。如果为 'ignore',现有键将被重命名,多余键将被忽略。
- 返回:
具有重命名轴标签的 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