Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Định lượng hình dạng phân phối (kurtosis, skewness) DataFrame Python

Giả sử bạn muốn tính độ nhọn (kurtosis) và độ lệch (skewness) của các cột số trong DataFrame.

Giải pháp

  • Tạo DataFrame số liệu.
  • Tính kurtosis: df.kurt(axis=0) (theo cột).
  • Tính skewness: df.skew(axis=0) (theo cột).

Mã ví dụ

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 = df.kurt(axis=0)
print("\nKurtosis (độ nhọn):\n", kurtosis)

skewness = df.skew(axis=0)
print("\nSkewness (độ lệch):\n", skewness)

Kết quả

DataFrame:
   Column1  Column2
0       12       23
1       34       30
2       56       45
3       78       50
4       90       90

Kurtosis (độ nhọn):
Column1   -1.526243
Column2    1.948382
dtype: float64

Skewness (độ lệch):
Column1   -0.280389
Column2    1.309355
dtype: float64

Giải thích:

  • Kurtosis > 0 (leptokurtic): Phân phối nhọn hơn phân phối chuẩn (đuôi dày). Column2 = 1.95.
  • Kurtosis < 0 (platykurtic): Phân phối bằng phẳng hơn. Column1 = -1.53.
  • Skewness > 0 (right-skewed): Duôi phải dài. Column2 = 1.31.
  • Skewness < 0 (left-skewed): Duôi trái dài. Column1 = -0.28.
  • Skewness ≈ 0: Phân phối đối xứng.