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

如何重命名DataFrame列:移除最后斜杠前所有字符,保留无斜杠列原名

处理DataFrame含斜杠列名的重命名方法

针对你提到的需求,有两种简洁的实现方式,既能保留无斜杠的列名,又能提取含斜杠列名的最后一段内容:

方法一:使用rename配合lambda函数

通过lambda函数遍历每个列名,根据是否包含斜杠做对应处理:

import pandas as pd

# 构造示例DataFrame
df = pd.DataFrame({
    'ot1/pr1/cp1/dkjsakhka': [1, 2, 3],
    'gt2/pr1/fl1/ct4/rmt12/dasljdals': [4, 5, 6],
    'normal_col': [7, 8, 9]
})

# 执行重命名
df.rename(columns=lambda x: x.split('/')[-1] if '/' in x else x, inplace=True)
  • 逻辑:对每个列名,若包含斜杠则用split('/')分割成字符串列表,取最后一个元素;无斜杠则直接保留原名称。
  • inplace=True会直接修改原DataFrame,若不想改动原数据,可去掉该参数并将结果赋值给新变量。

方法二:利用pandas列名的字符串属性处理

这种方法更简洁,无需额外判断——无斜杠的列名分割后列表仅含自身元素,取最后一个元素就是原名称:

df.columns = df.columns.str.split('/').str[-1]
  • 逻辑:df.columns.str.split('/')将每个列名按斜杠分割为列表,str[-1]直接提取每个列表的最后一个元素,一步完成所有列名的处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 08:48:13