สมมติว่าคุณมี DataFrame และต้องการวัดรูปทรงการกระจายข้อมูล (distribution shape) ผ่าน Kurtosis (ความแหลม) และ Skewness (ความเอียง)
วิธีแก้ปัญหา
- สร้าง DataFrame
- ใช้
df.kurt(axis=0)คำนวณ Kurtosis ต่อคอลัมน์ - ใช้
df.skew(axis=0)คำนวณ Skewness ต่อคอลัมน์
ตัวอย่างโค้ด
import pandas as pd
data = {"Column1": [12, 34, 56, 78, 90], "Column2": [23, 30, 45, 50, 90]}
df = pd.DataFrame(data)
print("DataFrame ต้นฉบับ:\n", df)
# Kurtosis: วัดความแหลมของการกระจาย (peakedness)
kurtosis = df.kurt(axis=0)
print("\nKurtosis (ความแหลม):")
print(kurtosis)
# Skewness: วัดความเอียงของการกระจาย (asymmetry)
skewness = df.skew(axis=0)
print("\nSkewness (ความเอียง):")
print(skewness)
ผลลัพธ์
DataFrame ต้นฉบับ:
Column1 Column2
0 12 23
1 34 30
2 56 45
3 78 50
4 90 90
Kurtosis (ความแหลม):
Column1 -1.526243
Column2 1.948382
dtype: float64
Skewness (ความเอียง):
Column1 -0.280389
Column2 1.309355
dtype: float64
คำอธิบาย:
- Kurtosis: ค่าติดลบ = การกระจายแบน (platykurtic), ค่าบวก = การกระจายแหลม (leptokurtic), ค่า ~0 = ใกล้ normal distribution
- Skewness: ค่าติดลบ = เอียงซ้าย (left-skewed), ค่าบวก = เอียงขวา (right-skewed), ค่า ~0 = สมมาตร
- Column1: Kurtosis ติดลบ (แบน), Skewness ใกล้ 0 (เกือบสมมาตร)
- Column2: Kurtosis บวก (แหลม), Skewness บวก (เอียงขวา)