You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过空格分割批量重命名Pandas DataFrame列名

批量重命名DataFrame列名(按空格分割取后半部分)

问题描述

我有如下所示的DataFrame:

index   col A   col B   col C
index1    3       1       2
index2    1       4       9
index3    5       1       2
index4    8       2       2
index5    2       1       6

希望通过空格分割的方式重命名列名(取空格后的部分),由于列数很多不想手动操作,期望得到的输出如下:

index     A       B       C
index1    3       1       2
index2    1       4       9
index3    5       1       2
index4    8       2       2
index5    2       1       6

解决方案

可以用Pandas的字符串处理方法批量完成,提供两种实用写法:

写法一(适合所有目标列都含且仅含一个空格)

import pandas as pd

# 假设你的DataFrame变量名为df
df.columns = df.columns.str.split(' ', expand=True).get_level_values(1)

写法二(兼容部分列名无空格的情况)

import pandas as pd

# 遍历列名,有空格则取分割后最后一段,无空格则保留原名
df.columns = [col.split(' ')[-1] if ' ' in col else col for col in df.columns]

说明

  • 写法一通过str.split将列名拆分为多级索引,直接提取第二部分,操作简洁高效。
  • 写法二用列表推导式做判断处理,适配更复杂的列名场景,避免无空格列名出现异常。

内容的提问来源于stack exchange,提问作者Yash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 03:07:32