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

如何在Pandas中识别并删除DataFrame内的虚假无效数据?

DataFrame虚假数据识别删除实现方法

首先基于你给出的示例场景,我们先定义通用的虚假数据判定规则,你可以根据实际业务需求调整阈值:

  • 姓名列:长度过短、所有字符完全相同、无实际含义的全大写重复字母组合
  • 地址列:全为数字、无意义连续随机字母(通过元音占比判断,正常英文地址元音字母占比通常不低于15%)、大小写混杂的无意义字符混合串、全为相同字符

完整实现代码

import pandas as pd
import numpy as np

data = {'Name' : ['Tom', 'AABBCC', 'Joseph', 'Krish', 'XXXX', 'John', 'U'],
        'Address1': ['High Street', 'uwdfjfuf', '00000', 'Green Lane', 'Kingsway', 'Church Street', 'iwefwfn'],
        'Address2': ['Park Avenue', 'The Crescent', 'ABCXYZ', 'Highfield Road', 'Stanley Road', 'New Street', '1ca2s597']}

contact_details = pd.DataFrame(data)

# 定义通用虚假字符串判断函数
def is_dummy_string(s, col_type='general'):
    s = str(s).strip()
    # 通用规则:全相同字符
    if len(set(s)) == 1:
        return True
    # 通用规则:长度过短,可自行调整阈值
    if len(s) < 3:
        return True
    # 姓名列专属规则
    if col_type == 'name':
        # 全大写且无实际含义的重复字母组合
        if s.isupper() and len(s) >=4:
            return True
    # 地址列专属规则
    if col_type == 'address':
        # 全数字
        if s.isdigit():
            return True
        # 元音占比过低判定为无意义随机字符串
        vowels = set('aeiouAEIOU')
        vowel_count = sum(1 for c in s if c in vowels)
        if vowel_count / len(s) < 0.15:
            return True
        # 字母数字随机穿插的无意义混合串
        has_alpha = any(c.isalpha() for c in s)
        has_digit = any(c.isdigit() for c in s)
        if has_alpha and has_digit:
            return True
    return False

# 对各列应用判定规则,任意一列存在虚假数据即删除该行
contact_details['is_dummy'] = contact_details.apply(
    lambda row: is_dummy_string(row['Name'], 'name') or 
                is_dummy_string(row['Address1'], 'address') or 
                is_dummy_string(row['Address2'], 'address'),
    axis=1
)

# 过滤掉虚假数据行
contact_details = contact_details[~contact_details['is_dummy']].drop('is_dummy', axis=1)

print(contact_details)

运行输出结果

Name       Address1        Address2
0    Tom    High Street     Park Avenue
3  Krish     Green Lane  Highfield Road
5   John  Church Street      New Street

规则调整说明

你可以根据自身数据集特征修改判定逻辑:

  • 调整字符串长度阈值适配不同业务要求
  • 增加自定义关键词过滤,比如常见的测试占位符test、dummy等
  • 针对中文数据可以替换为拼音、常用词占比等判定逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 16:45:04