数据筛选

方法概述

数据筛选是数据清理与子集提取的核心操作,通过设定一个或多个条件从数据集中筛选出符合特定规则的行。本工具支持等于、不等于、大于、小于、大于等于、小于等于以及包含、不包含、开头是、结尾是等字符型运算符,并可组合多个条件(同时满足 AND 或满足任一 OR),适用于子集提取、条件过滤、异常样本定位与建模样本选取等场景。工具同时提供筛选前后的数据双预览与保留比例统计,便于用户快速核对筛选效果。

本工具提供以下核心能力:

  • 支持多条件筛选,每个条件由列、运算符与值构成,可自由增删。
  • 支持数值型与字符型两类运算符,覆盖大小比较与文本匹配。
  • 支持 AND/OR 条件组合逻辑,满足不同提取口径。
  • 数值型列自动转换比较值类型,缺失单元格在判定中视为不满足。
  • 提供原始数据与筛选后数据的双预览,缺失值以灰色标记。
  • 自动生成筛选摘要,含条件描述、逻辑关系与保留比例。
  • 集成 AI 智能分析,解读筛选结果的分布特征。
  • 可下载筛选后数据(CSV/Excel)与分析报告(HTML)。

计算步骤

1. 数据加载与预处理

  • 文件读取:支持 CSV 和 Excel 格式,文件大小不超过 5MB。
  • 缺失值识别:自动将常见缺失符号(如 """NA""null""?" 等)转换为缺失标记 NA
  • 列类型智能转换:字符型列中超过 80% 的值可转为数值时自动转为数值列,确保数值型比较正确。
  • 空行/空列清理:删除完全为空的行和列。

2. 筛选条件配置

逐条添加筛选条件,每条条件包含三个要素:运算符。数值型列上的比较值会自动转为数值;若该值无法转换,工具会提示并跳过该条件。

支持的运算符包括:等于、不等于、大于、小于、大于等于、小于等于(数值型);包含、不包含、开头是、结尾是(字符型)。

以「大于」为例,行 \(i\) 是否满足条件可表示为: \[ m_{i,k} = \mathbb{1}\{x_i > c\} \] 其中 \(x_i\) 为该行目标列取值,\(c\) 为给定比较值,\(\mathbb{1}\{\cdot\}\) 为示性函数(成立取 1,否则取 0)。字符型「包含」条件即为 \(\mathbb{1}\{x_i \text{ 包含子串 } s\}\)。含缺失值的单元格视为不满足条件(\(m_{i,k}=0\))。

3. 条件组合逻辑

  • AND(同时满足):行 \(i\) 被保留当且仅当全部条件均成立,即 \(\prod_{k} m_{i,k} = 1\)
  • OR(满足任一):行 \(i\) 被保留当且仅当至少一个条件成立,即 \(1 - \prod_{k}(1 - m_{i,k}) = 1\)

4. 执行筛选与统计

按组合逻辑对全部行施加条件,得到筛选后的数据子集。工具自动生成筛选摘要,包括条件描述、逻辑关系、原始行数、筛选后行数以及保留比例: \[ \text{保留比例} = \frac{n_{\text{筛选后}}}{n_{\text{原始}}} \times 100\% \]

小数位数设置控制预览表格中数值的显示精度,不影响底层数据。

5. AI 智能分析

基于筛选条件、逻辑关系、原始与筛选后的行数及保留比例等信息,调用大语言模型分析筛选后数据的特征并给出后续分析建议。

6. 结果导出

  • 下载筛选后的数据(CSV 或 Excel 格式)。
  • 下载包含筛选条件摘要与筛选后数据前 10 行预览的 HTML 报告。

案例分析

案例背景:某电商平台有一份订单明细,包含订单ID、客户城市、订单金额与订单状态,现需筛选出金额不低于 500 元且订单状态为「已完成」的订单,用于售后分析。

原始数据(示例)

订单ID 客户城市 订单金额(元) 订单状态
1001 上海 820 已完成
1002 北京 450 已完成
1003 广州 1290 待发货
1004 深圳 630 已完成
1005 杭州 200 已取消

处理过程

  1. 数据加载:上传 CSV 文件,年龄类数值列被自动识别。
  2. 添加条件 1:订单金额(大于等于)500。
  3. 添加条件 2:订单状态(等于)已完成。
  4. 条件组合:选择 AND(同时满足)。
  5. 执行筛选:保留同时满足两个条件的行。

筛选后数据(示例)

订单ID 客户城市 订单金额(元) 订单状态
1001 上海 820 已完成
1004 深圳 630 已完成

结论:在本示例数据范围内,筛选保留了金额不低于 500 元且状态已完成的两笔订单,原始 5 行中满足条件的共 2 行,保留比例 40%,可用于后续售后与客单分析。

常见问题

Q1: AND 与 OR 如何选择?
A: AND 用于提取同时满足多个条件的子集,条件会收紧;OR 用于提取满足任一条件的子集,范围更宽。应根据分析目标决定。

Q2: 为什么数值列上的字符比较值未生效?
A: 数值型列的条件值需可转为数值。若输入了无法转换的文本,工具会提示并跳过该条件,此时应检查条件值是否符合该列类型。

Q3: 含缺失值的行会被保留吗?
A: 一般不会。缺失值在条件判定中视为不满足(false),因此同时满足全部条件(AND)或任一条件(OR)时不会包含这类行。

Q4: 多个条件之间的优先级复杂吗?
A: 工具对所有条件统一按所选逻辑(AND 或 OR)组合,不区分优先级,条件之间是并列关系,结果等价于按同一逻辑逐条施加。

Q5: 如何确认筛选结果是否正确?
A: 可对照筛选摘要中的条件描述与保留比例,并通过筛选后预览核对行数;必要时可更改逻辑(AND/OR)对比结果。

Q6: 字符型条件中的特殊字符(如括号、方括号)需要转义吗?
A: 不需要。包含、不包含等字符匹配按普通文本处理,特殊字符会按字面意义匹配,因此可直接输入。

平台功能

  • 数据输入:支持 CSV、Excel 格式(不超过 5MB),自动识别缺失符号并转为 NA,智能识别数值列。
  • 条件配置:逐条添加、删除选中、一键清除筛选条件。
  • 运算符:等于、不等于、大于、小于、大于等于、小于等于(数值型);包含、不包含、开头是、结尾是(字符型)。
  • 条件组合:AND(所有条件同时满足)或 OR(满足任一条件)。
  • 结果展示
    • 原始数据与筛选后数据双预览,缺失值以灰色背景标记。
    • 筛选摘要(条件、逻辑关系、原始行数、筛选后行数、保留比例)。
  • AI 智能分析:自动解读筛选结果的分布特征并提供建议(每日限 3 次,需配置 API 密钥)。
  • 报告下载:支持下载筛选后数据(CSV/Excel)及含摘要与预览的 HTML 报告。

使用建议

  1. 先明确业务口径:筛选前明确定义保留范围(如金额阈值、状态集合),避免条件设置偏差。
  2. 由简到繁:先单条件筛选验证效果,再逐步叠加条件,便于定位每一步的变化。
  3. 合理使用字符串运算符:城市、邮编等字段用等值判断即可;描述性文本可用包含、开头是等运算符。
  4. 结合保留比例:若保留比例过小或过大,检查条件值或逻辑关系是否设置合理。
  5. 核对类型:确保比较值类型与列类型匹配(数值列用数值、文本列用字符串)。
  6. AI 分析辅助:配置 API 密钥后,可用 AI 分析评估筛选后的数据特征与后续分析方向。

平台界面

官方地址:https://superr.online

数据筛选工具界面

平台界面包含:数据上传区、筛选条件列表与运算符/值设置区、条件组合逻辑(AND/OR)设置区、原始/筛选后数据双预览、筛选摘要、AI 分析模块与结果下载区

参考文献

  1. Codd, E. F. (1970). A Relational Model of Data for Large Shared Data Banks. Communications of the ACM, 13(6), 377-387.
  2. Hernández, M. A., & Stolfo, S. J. (1998). Real-world Data is Dirty: Data Cleansing and the Merge/Purge Problem. Data Mining and Knowledge Discovery, 2(1), 9-37.