🟡 เตือน
คุณภาพ
placeholder_values
คอลัมน์ 'email': พบ 50 ค่าที่ใช้แทน NaN ('-', 'N/A', 'ไม่มี') — ควรแปลงเป็น NaN (พบ 50 แถว, 33.3%)
แล้วไงต่อ? แทนที่ค่า placeholder ด้วย NaN ก่อนวิเคราะห์ (ใช้ coerce_numeric_column หรือ replace)
🟡 เตือน
คุณภาพ
placeholder_values
คอลัมน์ 'gender': พบ 18 ค่าที่ใช้แทน NaN ('-', 'N/A', 'ไม่มี') — ควรแปลงเป็น NaN (พบ 18 แถว, 12.0%)
แล้วไงต่อ? แทนที่ค่า placeholder ด้วย NaN ก่อนวิเคราะห์ (ใช้ coerce_numeric_column หรือ replace)
🟡 เตือน
คุณภาพ
placeholder_values
คอลัมน์ 'signup_source': พบ 14 ค่าที่ใช้แทน NaN ('-', 'N/A', 'ไม่มี') — ควรแปลงเป็น NaN (พบ 14 แถว, 9.3%)
แล้วไงต่อ? แทนที่ค่า placeholder ด้วย NaN ก่อนวิเคราะห์ (ใช้ coerce_numeric_column หรือ replace)
🟡 เตือน
คุณภาพ
พบปัญหาการ normalize ข้อความ
คอลัมน์ 'fullname': พบปัญหาการ normalize ข้อความ (repeated-char spam) ทำให้สตริงที่ดูเหมือนกันแต่ไม่เท่ากันจริง (พบ 1 แถว, 0.7%)
แล้วไงต่อ? ใช้การ normalize ข้อความ (เช่น pythainlp.util.normalize) ก่อนวิเคราะห์
🟡 เตือน
โครงสร้าง
พบการปนชนิดข้อมูล (ตัวเลข/ข้อความ)
คอลัมน์ 'thai_id': คอลัมน์เป็นตัวเลข 80% แต่มี 30 ค่า (20.0%) ที่เป็นสตริงไม่ใช่ตัวเลข (30 รายการ, 20.0%)
แล้วไงต่อ? แปลงเป็นตัวเลขแล้วตรวจค่าที่แปลงไม่ได้ (ค่าแทน เช่น 'N/A', '-')
🟡 เตือน
การกระจาย
การกระจายเบ้มาก
คอลัมน์ 'age' มีการกระจายเบ้ขวา (หางยาวด้านมาก) (skew=2.56) — ค่าเฉลี่ยอาจไม่สะท้อนค่ากลางที่แท้จริง
แล้วไงต่อ? พิจารณาแปลง 'age' ด้วย log/sqrt/Box-Cox ก่อนวิเคราะห์หรือสร้างโมเดล
🔵 ข้อมูล
ความผิดปกติ
พบค่าผิดปกติเชิงตัวเลข (outlier)
คอลัมน์ 'age': พบค่าผิดปกติเชิงตัวเลข 16 ค่า ด้วยวิธี modified_z_score (MAD) (ความเบ้ของการกระจาย ≈ 2.56) การกระจายแบบหางยาวมักมีค่าสุดขั้วทางธุรกิจที่ถูกต้อง จึงไม่ใช่ defect ของข้อมูลเสมอไป (16 รายการ, 10.7%)
แล้วไงต่อ? ตรวจสอบค่าเหล่านี้ — อาจเป็นการกรอกผิด หน่วยไม่ตรงกัน ค่าสุดขั้วจริง หรือค่าสุดขั้วทางธุรกิจที่ถูกต้อง
🔵 ข้อมูล
ข้อความ
คอลัมน์ข้อความมีค่าไม่ซ้ำสูง
คอลัมน์ 'fullname' มีค่าไม่ซ้ำ 100% (150 จาก 150 แถว) — อาจเป็น ID หรือข้อความอิสระ ไม่ใช่ตัวแปรหมวดหมู่
แล้วไงต่อ? ตรวจสอบว่าคอลัมน์ 'fullname' ควรใช้เป็น ID/ข้อความอิสระ และไม่นำไปจัดกลุ่ม (groupby) เป็นหมวดหมู่
🔵 ข้อมูล
คุณภาพ
สรุปการทำความสะอาดข้อมูล
ทำความสะอาดแล้วรวม 143 เซลล์ — handle_missing_values 124 เซลล์, remove_duplicate_rows 10 เซลล์, ลดอักขระซ้ำเกิน 9 เซลล์
แล้วไงต่อ? ตรวจสอบรายละเอียดก่อน/หลังในส่วน 'การทำความสะอาด' ของรายงาน
🔵 ข้อมูล
เชิงธุรกิจ
กลุ่ม 'Organic' โดดเด่นใน 'age' (ตาม 'signup_source')
กลุ่ม 'Organic' มีค่าเฉลี่ย 'age' สูงสุดที่ 287.9 — สูงกว่ากลุ่มรอง 2.4 เท่า (จัดกลุ่มตาม 'signup_source')
แล้วไงต่อ? ตรวจสอบว่าเหตุใดกลุ่ม 'Organic' จึงโดดเด่น และพิจารณาใช้เป็นจุดโฟกัสในการวิเคราะห์/ตัดสินใจ
กลุ่มโดดเด่น
กลุ่ม 'Organic' โดดเด่นใน 'age' (ตาม 'signup_source')
จัดกลุ่มตาม: signup_source · ตัววัด: age · mean
กลุ่ม 'Organic' มีค่าเฉลี่ย 'age' สูงสุดที่ 287.9 — สูงกว่ากลุ่มรอง 2.4 เท่า (จัดกลุ่มตาม 'signup_source')
กราฟนี้บอกอะไรเรา

| กลุ่ม | ค่า |
|---|
| Organic | 287.91 |
| N/A | 120.9 |
| Google | 114.81 |
แล้วไงต่อ? ตรวจสอบว่าเหตุใดกลุ่ม 'Organic' จึงโดดเด่น และพิจารณาใช้เป็นจุดโฟกัสในการวิเคราะห์/ตัดสินใจ