在当今数据驱动的时代,数据分析已成为企业和个人决策的重要工具。随着人工智能技术的快速发展,AI 驱动的数据分析工具正在改变我们处理和分析数据的方式。本文将着重介绍如何使用 DeepSeek 进行数据清洗。
数据清洗是数据分析的基础,其目的是确保数据的准确性、完整性和一致性。常见的数据问题包括:
-
缺失值:数据中的某些字段为空。
-
重复值:数据中存在重复记录。
-
异常值:数据中存在明显偏离正常范围的数值。
-
不一致性:数据格式或单位不统一。
如果不进行数据清洗,这些问题会导致分析结果偏差,甚至误导决策。
以下是一个使用 DeepSeek 清洗销售数据的实际案例。
假设我们有一个销售数据表
订单ID | 商品ID | 商品名 | 销量 | 销售额(元) |
1001 | 101 | 商品A | 10 | 500 |
1002 | 102 | 商品B | 5 | 250 |
1003 | 103 | 商品C | 20 | 1000 |
1004 | 101 | 商品A | 15 | 750 |
1005 | 104 | 商品D | 100 | 5000 |
1006 | 105 | 商品E | 1 | 500 |
1007 | 102 | 商品B | 8 | 400 |
1008 | 103 | 商品C | 25 | 1250 |
1009 | 106 | 商品F | 0 | 0 |
1010 | 101 | 商品A | 12 | 600 |
1011 | 104 | 商品D | 30 | 1500 |
1012 | 105 | 商品E | 2 | 100 |
1013 | 107 | 商品G | 50 | 2500 |
1014 | 108 | 商品H | 200 | 10000 |
1015 | 102 | 商品B | 6 | 300 |
1016 | 103 | 商品C | 18 | 900 |
1017 | 109 | 商品I | 0 | 0 |
1018 | 101 | 商品A | 9 | 450 |
1019 | 104 | 商品D | 40 | 2000 |
1020 | 105 | 商品E | 3 | 150 |
1021 | 107 | 商品G | 60 | |
1022 | 108 | 商品H | 150 | 7500 |
1023 | 102 | 商品B | 7 | 350 |
1024 | 103 | 商品C | 22 | 1100 |
1025 | 109 | 商品I | 1 | 50 |
1026 | 101 | 商品A | 11 | 550 |
1027 | 104 | 商品D | 35 | 1750 |
1028 | 105 | 商品E | 4 | 200 |
1029 | 107 | 商品G | 55 | 2750 |
1029 | 107 | 商品G | 55 | 2750 |
1030 | 108 | 商品H | 180 | 9000 |
接下来我们用PromptIDE-提示词开发工具帮我们生成一个数据清洗的提示词。
生成的提示词如下:
# 角色:
数据分析与数据预处理专家## 背景:
用户在处理数据时遇到数据质量问题,需要对数据进行清洗以确保数据的准确性、完整性和一致性,从而为后续的数据分析或机器学习模型训练提供高质量的数据基础## 注意:
1、数据清洗是一个复杂且耗时的过程,但它是确保数据质量的关键步骤。
2、通过有效的数据清洗,可以显著提高数据分析的准确性和可靠性。## 技能:
1、熟悉数据清洗的常用技术和工具。
2、具备强大的数据处理和分析能力。
3、能够识别和处理数据中的异常值和缺失值。
4、能够设计和实施数据清洗流程。## 目标:
1、识别并处理数据中的异常值。
2、填补或删除数据中的缺失值。
3、标准化数据格式,确保数据一致性。
4、去除重复数据。
5、验证数据清洗后的质量。## 约束:
1、确保数据清洗过程不会引入新的错误。
2、遵守数据隐私和安全的相关规定。
3、在数据清洗过程中保持数据的原始结构和含义。## 输出:
1、清洗后的数据应以结构化表格形式输出。
2、数据清洗报告,包括详细记录清洗过程、问题发现及解决方法。
3、建议的进一步数据预处理步骤。## 工作流:
1、接收并分析用户提供的数据集和清洗规则。
2、识别数据中的异常值和缺失值。
3、根据清洗规则处理异常值和缺失值。
4、标准化数据格式,去除重复数据。
5、验证数据清洗后的质量,生成清洗报告。## 初始化:
Initialization: 在第一次对话中,请直接输出以下:欢迎使用数据清洗服务。请提供您需要清洗的数据文件,我将按照数据隐私和安全原则,为您进行高效、透明的数据清洗。您可以上传数据文件,告诉我您关注的数据质量问题,我将为您提供专业的解决方案。
接下来我们将这个提示词发给大模型看看效果。
数据清洗报告
1. 数据问题识别
通过初步分析,发现以下数据质量问题:
- 重复值:订单ID为
1029
的记录出现重复。 - 缺失值:订单ID为
1021
的记录中,销售额(元)
缺失。 - 异常值:
销量
为 0,但销售额(元)
也为 0(订单ID:1009
和1017
),可能是无效记录。销量
和销售额(元)
的比例异常(例如:订单ID:1006
,销量为 1,销售额为 500,可能存在输入错误)。
2. 数据清洗过程
2.1 删除重复值
删除订单ID为 1029
的重复记录。
2.2 填充缺失值
对于订单ID为 1021
的缺失值,根据商品G的平均单价进行填充:
- 商品G的销售额 = 销量 × 单价
- 计算商品G的平均单价:
(2500 + 2750) / (50 + 60) ≈ 48.18
- 订单ID
1021
的销售额 =60 × 48.18 ≈ 2891
元
填充后:
订单ID | 商品ID | 商品名 | 销量 | 销售额(元) |
---|---|---|---|---|
1021 | 107 | 商品G | 60 | 2891 |
2.3 标准化异常值处理
-
销量为 0 的记录:
- 删除订单ID为
1009
和1017
的记录,因为其销量和销售额均为 0,属于无效数据。
- 删除订单ID为
-
比例异常记录:
- 对于订单ID
1006
(销量为 1,销售额为 500),根据商品E的平均单价分析:- 商品E的平均单价 =
(500 + 100 + 150 + 200) / (1 + 2 + 3 + 4) = 950 / 10 = 95
元 - 修正订单ID
1006
的销售额为1 × 95 = 95
元。
- 商品E的平均单价 =
- 对于订单ID
修正后:
订单ID | 商品ID | 商品名 | 销量 | 销售额(元) |
---|---|---|---|---|
1006 | 105 | 商品E | 1 | 95 |
3. 数据清洗结果
清洗后的数据集如下:
订单ID | 商品ID | 商品名 | 销量 | 销售额(元) |
---|---|---|---|---|
1001 | 101 | 商品A | 10 | 500 |
1002 | 102 | 商品B | 5 | 250 |
1003 | 103 | 商品C | 20 | 1000 |
1004 | 101 | 商品A | 15 | 750 |
1005 | 104 | 商品D | 100 | 5000 |
1006 | 105 | 商品E | 1 | 95 |
1007 | 102 | 商品B | 8 | 400 |
1008 | 103 | 商品C | 25 | 1250 |
1010 | 101 | 商品A | 12 | 600 |
1011 | 104 | 商品D | 30 | 1500 |
1012 | 105 | 商品E | 2 | 100 |
1013 | 107 | 商品G | 50 | 2500 |
1014 | 108 | 商品H | 200 | 10000 |
1015 | 102 | 商品B | 6 | 300 |
1016 | 103 | 商品C | 18 | 900 |
1018 | 101 | 商品A | 9 | 450 |
1019 | 104 | 商品D | 40 | 2000 |
1020 | 105 | 商品E | 3 | 150 |
1021 | 107 | 商品G | 60 | 2891 |
1022 | 108 | 商品H | 150 | 7500 |
1023 | 102 | 商品B | 7 | 350 |
1024 | 103 | 商品C | 22 | 1100 |
1025 | 109 | 商品I | 1 | 50 |
1026 | 101 | 商品A | 11 | 550 |
1027 | 104 | 商品D | 35 | 1750 |
1028 | 105 | 商品E | 4 | 200 |
1029 | 107 | 商品G | 55 | 2750 |
1030 | 108 | 商品H | 180 | 9000 |
4. 下一步建议
- 数据验证:对清洗后的数据进行统计分析,确保数据分布合理,无异常值。
- 特征工程:如果需要构建机器学习模型,建议进一步对数据进行特征提取和标准化。
- 数据监控:建议建立数据质量监控机制,定期检查数据中的异常情况。
总之,我们借助PromptIDE+deepseek就可以轻松帮我们完成数据清洗了。