Độ lệch chuẩn cho biết các giá trị trong tập dữ liệu phân bố như thế nào. Chúng cũng cho biết các giá trị trong tập dữ liệu cách trung bình cộng của các cột trong tập dữ liệu bao nhiêu.
Đôi khi cần lấy độ lệch chuẩn của một cột cụ thể mang tính số. Đây là lúc hàm std() có thể dùng. Cột cần tính độ lệch chuẩn có thể được truy xuất (indexed) vào DataFrame, và hàm std được gọi trên cột này bằng toán tử chấm.
Chỉ số cột cũng có thể truyền để tìm độ lệch chuẩn.
Hãy xem minh họa:
Ví dụ
import pandas as pd
my_data = {
'Name': pd.Series(['Tom', 'Jane', 'Vin', 'Eve', 'Will']),
'Age': pd.Series([45, 67, 89, 12, 23]),
'value': pd.Series([8.79, 23.24, 31.98, 78.56, 90.20])
}
print("DataFrame là:")
my_df = pd.DataFrame(my_data)
print(my_df)
print("Độ lệch chuẩn cột 'Age':")
print(my_df['Age'].std())
print("Độ lệch chuẩn cột 'value':")
print(my_df['value'].std())
Đầu ra
DataFrame là:
Name Age value
0 Tom 45 8.79
1 Jane 67 23.24
2 Vin 89 31.98
3 Eve 12 78.56
4 Will 23 90.20
Độ lệch chuẩn cột 'Age': 31.499206339207976
Độ lệch chuẩn cột 'value': 35.747101700697364
Giải thích
- Nhập thư viện cần thiết, đặt bí danh để dễ dùng.
- Tạo dictionary của Series bao gồm key và value, value là cấu trúc Series.
- Dictionary này truyền làm tham số cho hàm
DataFrametrongpandas. - In DataFrame ra console.
- Muốn tính độ lệch chuẩn cột cụ thể chứa giá trị số.
- Gọi hàm
stdtrên DataFrame bằng cách chỉ định tên cột, dùng toán tử chấm. - Độ lệch chuẩn cột số in ra console.
Lưu ý: std() mặc định dùng độ lệch chuẩn mẫu (ddof=1 - chia cho N-1). Dùng std(ddof=0) cho độ lệch chuẩn tổng thể (chia cho N). Có thể tính std cho toàn bộ DataFrame số: df.select_dtypes(include=[np.number]).std().