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

如何用单个函数对Pandas多列应用split处理特殊字符

批量清理Pandas DataFrame列中冒号前缀的内容

解决方案

先定义需要处理的列名列表,再通过批量操作一次性处理所有目标列,替代重复的逐列赋值:

  1. 定义待处理列列表
cols_to_clean = [
    'Type of water point',
    'Water point Functionality',
    'WP_suitability',
    'Ownership',
    'Maintenance in charge',
    'WASH management committee?'
]
  1. 批量处理列内容
    沿用你原来的分割逻辑,通过apply批量应用字符串处理操作:
wp_clean[cols_to_clean] = wp_clean[cols_to_clean].apply(
    lambda col: col.str.split(':', n=1).str.get(-1)
)

可选优化(更高效的正则提取)

如果想提升处理效率,也可以用正则表达式提取冒号后的内容,同时兼容无冒号的行(保留原内容):

wp_clean[cols_to_clean] = wp_clean[cols_to_clean].str.extract(r'(?:.*?:)?(.*)', expand=False)

这个正则的含义是:匹配可选的任意字符+冒号,然后捕获后面的所有内容,确保没有冒号的行也能返回原字符串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 14:59:52