Giả sử bạn muốn tính Mean Absolute Deviation (MAD) cho từng cột và từng hàng của DataFrame.
Giải pháp
- Tạo DataFrame.
- MAD theo cột (mặc định):
df.mad(). - MAD theo hàng:
df.mad(axis=1).
Công thức MAD: Trung bình của |x_i - mean(x)|.
Mã ví dụ
import pandas as pd
data = {
"Column1": [6, 5.3, 5.9, 7.8, 7.6, 7.45, 7.75],
"Column2": [7, 7.1, 7.2, 6, 6.1, 6.3, 5.1]
}
df = pd.DataFrame(data)
print("DataFrame:\n", df)
print("\nMAD theo cột:\n", df.mad())
print("\nMAD theo hàng:\n", df.mad(axis=1))
Kết quả
DataFrame: Column1 Column2 0 6.00 7.0 1 5.30 7.1 2 5.90 7.2 3 7.80 6.0 4 7.60 6.1 5 7.45 6.3 6 7.75 5.1 MAD theo cột: Column1 0.938776 Column2 0.600000 dtype: float64 MAD theo hàng: 0 0.500 1 0.900 2 0.650 3 0.900 4 0.750 5 0.575 6 1.325 dtype: float64
Giải thích:
- Cột Column1 có MAD lớn hơn (0.94) → dữ liệu phân tán hơn so với Column2 (0.60).
- Hàng 6 có MAD lớn nhất (1.325) do chênh lệch lớn giữa 7.75 và 5.1.
- MAD robust hơn standard deviation đối với outlier.