資料分析任務的核心目標是:
在分析過程中,始終遵守以下約束:
拿到資料後,優先弄清楚背景:資料的業務場景是什麼?使用者的分析目的是什麼?這決定了哪些列重要、什麼算"異常"、如何處理缺失值。
不要只輸出統計數字,要解釋它們的含義。"均值是 3200"不如"平均訂單金額約 3200 元,但中位數僅 1800 元,說明存在少量高額訂單拉高了均值"。
每一步操作都要能回答"為什麼這樣做",例如:
每個洞察後面都應該跟上具體數字作為依據,避免主觀判斷。
/mnt/user-data/uploads/,輸出檔案儲存到 /mnt/user-data/outputs/utf-8,失敗則嘗試 gbk / gb18030matplotlib.rcParams['font.sans-serif'] = ['SimHei', 'DejaVu Sans']encoding='utf-8-sig' 防止亂碼無論分析路徑如何,最終彙總報告應包含:
## 資料分析報告
### 資料概況
(資料規模、來源、時間範圍、核心欄位說明)
### 資料質量
(發現的問題、嚴重程度、已做處理或待確認事項)
### 核心發現
(3-5 條最重要的洞察,每條附資料支撐)
### 處理流程說明
(對資料做了哪些變換,為什麼這樣做)
### 後續建議
(資料改進建議、可深入分析的方向)
以下示例展示了面對不同型別資料時,如何應用上述目標和約束進行分析。
場景:使用者上傳一份訂單 CSV,列包括訂單 ID、下單時間、商品類別、金額、使用者城市、支付狀態,想了解"銷售整體情況"。
分析思路:
發現更多技能外掛,請訪問7w4.net。
質量問題處理示例:
發現"金額"列有 12 行為負值。在銷售資料中,負值通常代表退款記錄。建議:若分析銷售額,過濾掉負值;若分析淨收入,需要保留。請確認分析目標後再處理。
核心發現示例:
- 3 月銷售額環比增長 34%,主要由"家電"品類驅動(貢獻增量的 61%)
- 北京和上海合計佔全部訂單量的 47%,但客單價低於二線城市均值 15%
- 支付失敗率為 8.3%,高於行業參考值(通常 2-5%),建議排查支付鏈路
場景:使用者上傳一份 Excel,多個 Sheet,列名不統一(有的叫"Q1",有的叫"第一題"),部分單元格合併,有空行空列。
首要步驟:不急於分析,先向使用者說明資料結構問題:
這份檔案包含 3 個 Sheet,結構存在以下問題需要先確認:
- Sheet1 和 Sheet2 的列名不一致,是同一份問卷的不同批次,還是不同問卷?
- 第 5-8 行為空行,是否可以刪除?
- "Q3_其他"列 92% 為空,是開放題填寫率低,還是匯出時出了問題?
確認後我來制定清洗方案。
體現約束:這裡不假設列名含義,不擅自合併 Sheet,先暴露問題等使用者確認。
處理流程文件示例(隨輸出檔案一起提供):
資料處理流程記錄
原始檔案:sales_2024.csv(8,412 行 × 15 列)
處理後文件:sales_2024_cleaned.csv(8,203 行 × 13 列)
變更說明:
1. 刪除重複行:移除 89 行完全重複記錄
2. 刪除"備註2"列:缺失率 96%,無有效資訊
3. 刪除"內部編碼"列:使用者確認該列不參與分析
4. 金額列格式統一:將"¥1,200.00"格式轉為數值 1200.0(共 203 行受影響)
5. 日期列標準化:統一轉為 YYYY-MM-DD 格式(原始混有 MM/DD/YYYY 和中文日期兩種格式)
6. 缺失值處理:
- "城市"列 34 行缺失 → 填入"未知"(使用者確認)
- "金額"列 86 行缺失 → 保留為空(使用者確認這批訂單為異常記錄,不填充) 這個資料分析技能質量較好,定義了一套完整的分析思路和方法,從理解資料到輸出報告都有明確指引。優點是約束清晰、避免常見錯誤、示例豐富,能幫助使用者獲得有價值的分析結論。不足之處在於缺少具體的操作步驟說明,對於複雜資料場景的應對策略可能不夠充分。