Làm sạch dữ liệu với Python
Adel Nehme
Content Developer @DataCamp
Tập hạng mục hữu hạn, định sẵn
| Loại dữ liệu | Giá trị ví dụ | Biểu diễn số |
|---|---|---|
| Tình trạng hôn nhân | unmarried, married |
0,1 |
| Nhóm thu nhập hộ gia đình | 0-20K, 20-40K, ... |
0,1, .. |
| Trạng thái khoản vay | default,payed,no_loan |
0,1,2 |
Tình trạng hôn nhân chỉ có thể là unmarried hoặc married


# Đọc dữ liệu nghiên cứu và in ra
study_data = pd.read_csv('study.csv')
study_data
name birthday blood_type
1 Beth 2019-10-20 B-
2 Ignatius 2020-07-08 A-
3 Paul 2019-08-12 O+
4 Helen 2019-03-17 O-
5 Jennifer 2019-12-17 Z+
6 Kennedy 2020-04-27 A+
7 Keith 2019-04-19 AB+
# Các nhóm máu hợp lệ
categories
blood_type
1 O-
2 O+
3 A-
4 A+
5 B+
6 B-
7 AB+
8 AB-
# Đọc dữ liệu nghiên cứu và in ra
study_data = pd.read_csv('study.csv')
study_data
name birthday blood_type
1 Beth 2019-10-20 B-
2 Ignatius 2020-07-08 A-
3 Paul 2019-08-12 O+
4 Helen 2019-03-17 O-
5 Jennifer 2019-12-17 Z+ <--
6 Kennedy 2020-04-27 A+
7 Keith 2019-04-19 AB+
# Các nhóm máu hợp lệ
categories
blood_type
1 O-
2 O+
3 A-
4 A+
5 B+
6 B-
7 AB+
8 AB-



inconsistent_categories = set(study_data['blood_type']).difference(categories['blood_type'])
print(inconsistent_categories)
{'Z+'}
# Lấy và in các hàng có hạng mục không nhất quán inconsistent_rows = study_data['blood_type'].isin(inconsistent_categories)study_data[inconsistent_rows]
name birthday blood_type
5 Jennifer 2019-12-17 Z+
inconsistent_categories = set(study_data['blood_type']).difference(categories['blood_type']) inconsistent_rows = study_data['blood_type'].isin(inconsistent_categories) inconsistent_data = study_data[inconsistent_rows]# Loại bỏ hạng mục không nhất quán, chỉ giữ dữ liệu nhất quán consistent_data = study_data[~inconsistent_rows]
name birthday blood_type
1 Beth 2019-10-20 B-
2 Ignatius 2020-07-08 A-
3 Paul 2019-08-12 O+
4 Helen 2019-03-17 O-
... ... ... ...
Làm sạch dữ liệu với Python