当前位置: 首页 > news >正文

【Pandas】pandas DataFrame rename_axis

Pandas2.2 DataFrame

Reindexing selection label manipulation

方法描述
DataFrame.add_prefix(prefix[, axis])用于在 DataFrame 的行标签或列标签前添加指定前缀的方法
DataFrame.add_suffix(suffix[, axis])用于在 DataFrame 的行标签或列标签后添加指定后缀的方法
DataFrame.align(other[, join, axis, level, …])用于对齐两个 DataFrameSeries 的方法
DataFrame.at_time(time[, asof, axis])用于筛选 特定时间点 的行的方法
DataFrame.between_time(start_time, end_time)用于筛选 指定时间范围内的数据行 的方法
DataFrame.drop([labels, axis, index, …])用于从 DataFrame 中删除指定行或列的方法
DataFrame.drop_duplicates([subset, keep, …])用于删除重复行的方法
DataFrame.duplicated([subset, keep])用于检测 重复行 的方法
DataFrame.equals(other)用于比较两个 DataFrame 是否完全相等的方法
DataFrame.filter([items, like, regex, axis])用于筛选列或行标签的方法
DataFrame.first(offset)用于选取 时间序列型 DataFrame 中从起始时间开始的一段连续时间窗口 的方法
DataFrame.head([n])用于快速查看 DataFrame 前几行数据 的方法
DataFrame.idxmax([axis, skipna, numeric_only])用于查找 每列或每行中最大值的索引标签 的方法
DataFrame.idxmin([axis, skipna, numeric_only])用于查找 每列或每行中最小值的索引标签 的方法
DataFrame.last(offset)用于选取 时间序列型 DataFrame 中从最后时间点开始向前截取一段指定长度的时间窗口 的方法
DataFrame.reindex([labels, index, columns, …])用于重新索引 DataFrame 的核心方法
DataFrame.reindex_like(other[, method, …])用于将当前 DataFrame 的索引和列重新设置为与另一个对象(如另一个 DataFrame 或 Series)相同
DataFrame.rename([mapper, index, columns, …])用于重命名 DataFrame 的行索引标签或列名的方法
DataFrame.rename_axis([mapper, index, …])用于**重命名 DataFrame 的索引轴名称(index axis name)或列轴名称(column axis name)**的方法

pandas.DataFrame.rename_axis()

pandas.DataFrame.rename_axis() 是一个用于**重命名 DataFrame 的索引轴名称(index axis name)或列轴名称(column axis name)**的方法。它不修改行标签或列名本身,而是修改整个轴的“名称”属性,常用于数据整理和可视化时标注维度信息。


📌 方法签名
DataFrame.rename_axis(mapper=<no_default>, *, index=<no_default>, columns=<no_default>, axis=0, copy=None, inplace=False)

🔧 参数说明
参数类型说明
mapperstr、list-like 或 dict,可选新的轴名称;若未指定,则删除轴名称
indexstr、list-like 或 dict,可选单独设置行索引的名称(axis=0)
columnsstr、list-like 或 dict,可选单独设置列索引的名称(axis=1)
axis{0/'index', 1/'columns'},默认为 0指定作用于行轴还是列轴
copybool,默认 True是否复制底层数据
inplacebool,默认 False是否在原对象上修改

⚠️ rename_axis() 主要用于设置 IndexMultiIndex.name 属性。


✅ 返回值
  • 如果 inplace=False(默认),返回一个新的 DataFrame
  • 如果 inplace=True,则返回 None,原始 DataFrame 被修改。

🧪 示例代码及结果
示例 1:基本用法 - 设置行索引轴名称(axis=0)
import pandas as pddf = pd.DataFrame({'A': [1, 2, 3],'B': [4, 5, 6]
}, index=['x', 'y', 'z'])# 设置行索引轴名称为 'rows'
df_renamed_axis = df.rename_axis('rows')print("Renamed row axis:")
print(df_renamed_axis)
print("\nAxis name:", df_renamed_axis.index.name)
输出结果:
Renamed row axis:A  B
x  1  4
y  2  5
z  3  6Axis name: rows

示例 2:设置列索引轴名称(axis=1)
# 设置列索引轴名称为 'cols'
df_renamed_cols_axis = df.rename_axis('cols', axis=1)print("Renamed column axis:")
print(df_renamed_cols_axis)
print("\nColumn axis name:", df_renamed_cols_axis.columns.name)
输出结果:
Renamed column axis:A  B
x  1  4
y  2  5
z  3  6Column axis name: cols

示例 3:使用 indexcolumns 同时设置多个轴名称
df_multi_axis = df.rename_axis(index='rows', columns='cols')print("Both axes renamed:")
print(df_multi_axis)
print("Row axis name:", df_multi_axis.index.name)
print("Column axis name:", df_multi_axis.columns.name)
输出结果:
Both axes renamed:A  B
x  1  4
y  2  5
z  3  6Row axis name: rows
Column axis name: cols

示例 4:删除轴名称(传入 None)
# 删除行索引轴名称
df_no_axis_name = df.rename_axis(None)print("No row axis name:")
print(df_no_axis_name)
print("Axis name:", df_no_axis_name.index.name)
输出结果:
No row axis name:A  B
x  1  4
y  2  5
z  3  6Axis name: None

示例 5:多级索引重命名轴名称(适用于 MultiIndex)
# 创建多级索引 DataFrame
df_multi_index = pd.DataFrame({'value': [10, 20, 30]
}, index=pd.MultiIndex.from_tuples([('a', 1), ('a', 2), ('b', 1)], names=['group', 'id']))# 重命名行索引轴名称
df_renamed_multi = df_multi_index.rename_axis(['category', 'identifier'])print("MultiIndex renamed axis:")
print(df_renamed_multi)
print("Index names:", df_renamed_multi.index.names)
输出结果:
MultiIndex renamed axis:value
category identifier          
a          1         102         20
b          1         30Index names: ['category', 'identifier']

示例 6:原地修改(inplace=True)
df.rename_axis('new_rows', inplace=True)
print("Inplace rename axis:")
print(df)
print("New index name:", df.index.name)
输出结果:
Inplace rename axis:A  B
x  1  4
y  2  5
z  3  6New index name: new_rows

🧠 应用场景
  • 数据可视化时标注坐标轴名称;
  • 多级索引结构中清晰标识层级含义;
  • 数据导出到文件(如 Excel)时保留轴名称;
  • 提高 DataFrame 的可读性和语义清晰度;
  • 在数据分析报告中展示更明确的维度信息。

⚠️ 注意事项
  • rename_axis() 不改变行/列标签本身,只改变轴的“名称”属性;
  • 可以通过 indexcolumns 分别设置不同轴的名称;
  • 支持多级索引,可用于重命名每一层的名称;
  • 若传入 None,则会删除当前轴名称;
  • 默认不会修改原始 DataFrame,除非设置 inplace=True

相关文章:

  • 记录被mybatis一级缓存坑的问题
  • electron-vite_18桌面共享
  • Web3如何重塑数据隐私的未来
  • LeetCode[404]左叶子之和
  • 机器学习——主成分分析(PCA)
  • Axure设计案例:滑动拼图解锁
  • 项目计划未与实际情况同步更新,如何保持计划的实时性?
  • UniRig:如何在矩池云一站式解决 3D 模型绑定难题
  • Linux随记(十八)
  • 【产品研究】安克创新公司产品研究
  • idea不识别lombok---实体类报没有getter方法
  • 实现脚本引擎技术详解
  • Ubuntu22.04安装MinkowskiEngine
  • 外贸建站平台推荐
  • 部分过孔双面开窗且孔径0.2mm导致的油墨入孔/堵孔现象
  • git checkout C1解释
  • 【优化】常见优化手段之图片渐进式加载方案
  • java复习 01
  • 蛋白质设计软件LigandMPNN介绍
  • PopupImageMenuItem 无响应
  • h5营销型网站功能/百度seo竞价推广是什么
  • 企业网站备案那么麻烦吗/微信指数查询入口
  • 专业做网站建设设计/网站注册查询官网
  • 外国做视频在线观看网站/软文写作技巧有哪些
  • 项目工程监理公司网站建设方案/正规推广平台有哪些
  • 网站建设与开发的收获与体会/关键词指数查询