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

如何简化pandas数据清洗:优化count列每行最小数值提取方案

pandas Count列清洗优化方案

核心思路是通过自定义处理函数一次性完成所有规则匹配,替代重复多次的字符串替换操作,同时兼容你要求的「取最小值」和「and格式数值相加」两个需求,适配所有样例输入场景。

完整实现代码

import pandas as pd
import re

def process_count(content):
    # 第一步:清除所有方括号、圆括号及内部的冗余内容
    cleaned = re.sub(r'[\[\(].*?[\]\)]', '', str(content))
    # 提取字符串中所有的数字转为整数列表
    num_list = list(map(int, re.findall(r'\d+', cleaned)))
    # 空值容错处理,可根据需要调整默认返回值
    if not num_list:
        return None
    # 匹配到and字段时返回数值和
    if 'and' in cleaned.lower():
        return sum(num_list)
    # 其余场景统一返回最小数值
    return min(num_list)

# 调用函数处理目标列
df['Count'] = df['Count'].apply(process_count)

样例输入处理结果

针对你给出的输入样例,处理后输出如下:

原输入处理后输出
~186-205186
4 and 48
200200
800-1000800
550-550[2]550
10, 20 or 5010
5 (four score and bla bla)5
38 or 3030
88-8080

方案优势

  • 逻辑统一,不需要单独适配各种格式的破折号、分隔符,自动提取所有有效数字
  • 代码量缩减近70%,后续调整规则只需要修改自定义函数即可,维护成本低
  • 自动忽略括号内的and字段,避免误触发求和逻辑,符合实际业务需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 13:27:03