数据筛选
方法概述
数据筛选是数据清理与子集提取的核心操作,通过设定一个或多个条件从数据集中筛选出符合特定规则的行。本工具支持等于、不等于、大于、小于、大于等于、小于等于以及包含、不包含、开头是、结尾是等字符型运算符,并可组合多个条件(同时满足 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 | 已取消 |
| … | … | … | … |
处理过程:
- 数据加载:上传 CSV 文件,年龄类数值列被自动识别。
- 添加条件 1:订单金额(大于等于)500。
- 添加条件 2:订单状态(等于)已完成。
- 条件组合:选择 AND(同时满足)。
- 执行筛选:保留同时满足两个条件的行。
筛选后数据(示例):
| 订单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 报告。
使用建议
- 先明确业务口径:筛选前明确定义保留范围(如金额阈值、状态集合),避免条件设置偏差。
- 由简到繁:先单条件筛选验证效果,再逐步叠加条件,便于定位每一步的变化。
- 合理使用字符串运算符:城市、邮编等字段用等值判断即可;描述性文本可用包含、开头是等运算符。
- 结合保留比例:若保留比例过小或过大,检查条件值或逻辑关系是否设置合理。
- 核对类型:确保比较值类型与列类型匹配(数值列用数值、文本列用字符串)。
- AI 分析辅助:配置 API 密钥后,可用 AI 分析评估筛选后的数据特征与后续分析方向。
平台界面

平台界面包含:数据上传区、筛选条件列表与运算符/值设置区、条件组合逻辑(AND/OR)设置区、原始/筛选后数据双预览、筛选摘要、AI 分析模块与结果下载区
参考文献
- Codd, E. F. (1970). A Relational Model of Data for Large Shared Data Banks. Communications of the ACM, 13(6), 377-387.
- 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.