在當今數據驅動的時代,數據分析已成為企業和個人決策的重要工具。隨著人工智能技術的快速發展,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就可以輕松幫我們完成數據清洗了。