Ràng buộc thành viên

Làm sạch dữ liệu với Python

Adel Nehme

Content Developer @DataCamp

 

 

 

 

 

 

 

Chương 2 - Vấn đề với dữ liệu văn bản và phân loại

Làm sạch dữ liệu với Python

Hạng mục và ràng buộc thành viên

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

Làm sạch dữ liệu với Python

Vì sao có thể có các vấn đề này?

các vấn đề về dữ liệu phân loại

Làm sạch dữ liệu với Python

Xử lý các vấn đề này như thế nào?

    các xử lý

Làm sạch dữ liệu với Python

Ví dụ

# Đọ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-
Làm sạch dữ liệu với Python

Ví dụ

# Đọ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-
Làm sạch dữ liệu với Python

Lưu ý về join

Làm sạch dữ liệu với Python

Left anti join theo nhóm máu

Làm sạch dữ liệu với Python

Inner join theo nhóm máu

Làm sạch dữ liệu với Python

Tìm hạng mục không nhất quán

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+
Làm sạch dữ liệu với Python

Loại bỏ hạng mục không nhất quán

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

Ayo berlatih!

Làm sạch dữ liệu với Python

Preparing Video For Download...