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

如何使用pandas实现列表型字符串转指定格式并解决替换失效问题

问题1:Soft_skills列格式转换

你的该列存储的是字符串形式的列表结构,可通过ast.literal_eval安全解析为Python列表后再按规则处理:

import ast

def parse_soft_skills(s):
    skill_list = ast.literal_eval(s)
    return ','.join(skill_list) if skill_list else None

df['Soft_skills'] = df['Soft_skills'].apply(parse_soft_skills)

处理后非空列表会直接拼接为逗号分隔的字符串,空列表返回None,完全符合要求。

问题2:Course_content列替换不生效问题

替换失效通常是以下三个原因导致的:

  • 直接调用df.replace默认是全单元格完全匹配才生效,无法匹配单元格内的子串
  • 替换规则包含*这类正则元字符,开启regex=True时会被当作正则语法识别,无法匹配普通文本
  • 多替换规则同时执行时会有优先级冲突,需要按顺序逐个替换

正确处理代码如下:

# 先处理空值、确认列类型为字符串
df['Course_content'] = df['Course_content'].fillna('').astype(str)

replace_map = {
    'Not Mentioned':'',
    "\r\n": "\n",
    "\r": "\n",
    '\u00a0':' ',
    ': \n, *,  ':'\n * ',
    ' \n,':'\n',
}

# 逐个替换,关闭正则模式,按普通文本匹配
for old_str, new_str in replace_map.items():
    df['Course_content'] = df['Course_content'].str.replace(old_str, new_str, regex=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 22:36:11