Để tính toán số liệu thống kê tóm tắt cho dữ liệu phân loại thứ tự [ví dụ:. , trung vị hoặc phần trăm], nhiều chức năng, như np.median
, yêu cầu đầu vào số. Do đó, sẽ hữu ích nếu lưu trữ tên danh mục dưới dạng chuỗi và giá trị số [ví dụ:. , kiểu dữ liệu số nguyên hoặc float]. Điều này có thể được thực hiện bằng cách sử dụng mã hóa nhãn [trong Pandas, sử dụng thuộc tính cat.codes
của cột khung dữ liệu 'danh mục']. Ví dụ: giả sử có một biến có tên là response
trong một khung dữ liệu có tên là df
chứa các câu trả lời cho câu hỏi “Đánh giá mức độ đồng ý của bạn với tuyên bố. người giàu nên trả thuế cao hơn,” trong đó các lựa chọn trả lời là “hoàn toàn không đồng ý”, “không đồng ý”, “trung lập”, “đồng ý” và “rất đồng ý”. Mã được cung cấp có thể được sử dụng để tính danh mục trung vị cho dữ liệu này
Chúng tôi biết rằng chúng tôi có thể thay thế các giá trị nan bằng giá trị trung bình hoặc trung bình bằng cách sử dụng fillna[]. Điều gì xảy ra nếu dữ liệu NAN tương quan với một cột phân loại khác?
Nếu giá trị NAN dự kiến là một giá trị phân loại thì sao?
Dưới đây là một số mẹo hữu ích để xử lý các giá trị NAN
Chắc chắn bạn đang làm điều đó với Pandas và Numpy
import pandas as pd
import numpy as np
ngroupcl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
Hãy sử dụng hàm
cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
54 để tìm chế độ của khung dữ liệucl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
55cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
56đầu ra
Ví dụ #2. Sử dụng hàm
cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
0 để tìm chế độ trên trục cộtcl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
1cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
2 cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
3cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
4cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
5df
_______17
cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
8cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
00cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
01cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
02cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
03cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
04cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
03cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
06cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
03cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
04cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
03cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
10cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
11cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
12cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
13cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
01cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
06cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
03cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
17cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
03cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
19cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
03cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
21cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
03cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
17cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
11cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
12cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
26cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
01cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
28cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
03cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
28_______103cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
32cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
03cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
21cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
03cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
36cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
11cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
12cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
39cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
01cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
02cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
03cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
21cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
03cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
45cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
03cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
17cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
03cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
45cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
50cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
4cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
52________số 8
Hãy sử dụng hàm
cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
54 để tìm chế độcl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
031cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
032cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
7 cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
10cl = pd.DataFrame[{
'team':['A','A','A','A','A','B','B','B','B','B'], 'class'['I','I','I','I','I','I','I','II','II','II'],
'value': [1, np.nan, 2, 2, 3, 1, 3, np.nan, 3,1]}]
035đầu ra
Ở hàng thứ 0 và thứ 3, 14 và 3 là chế độ vì chúng có tần suất xuất hiện lớn nhất [i. e. 2]. Trong phần còn lại của cột, tất cả các phần tử đều là chế độ vì chúng có cùng tần suất xuất hiện