Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เขียนโปรแกรม Python วัดรูปทรงการกระจายข้อมูลใน DataFrame ด้วย Kurtosis และ Skewness

สมมติว่าคุณมี DataFrame และต้องการวัดรูปทรงการกระจายข้อมูล (distribution shape) ผ่าน Kurtosis (ความแหลม) และ Skewness (ความเอียง)

วิธีแก้ปัญหา

  1. สร้าง DataFrame
  2. ใช้ df.kurt(axis=0) คำนวณ Kurtosis ต่อคอลัมน์
  3. ใช้ 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 บวก (เอียงขวา)