Kendala keanggotaan

Membersihkan Data di Python

Adel Nehme

Content Developer @DataCamp

 

 

 

 

 

 

 

Bab 2 - Masalah data teks dan kategorikal

Membersihkan Data di Python

Kategori dan kendala keanggotaan

Himpunan kategori terbatas (tetap)

Jenis data Contoh nilai Representasi numerik
Status Pernikahan unmarried, married 0,1
Kategori Pendapatan RT 0-20K, 20-40K, ... 0,1, ..
Status Pinjaman default,payed,no_loan 0,1,2

 

Status pernikahan hanya bisa unmarried atau married

Membersihkan Data di Python

Mengapa masalah ini bisa muncul?

masalah_kategorikal

Membersihkan Data di Python

Bagaimana menangani masalah ini?

    kategori

Membersihkan Data di Python

Contoh

# Baca data studi dan cetak
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+
# Tipe golongan darah yang benar
categories
  blood_type
1         O-
2         O+
3         A-
4         A+
5         B+
6         B-
7        AB+
8        AB-
Membersihkan Data di Python

Contoh

# Baca data studi dan cetak
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+
# Tipe golongan darah yang benar
categories
  blood_type
1         O-
2         O+
3         A-
4         A+
5         B+
6         B-
7        AB+
8        AB-
Membersihkan Data di Python

Catatan tentang join

Membersihkan Data di Python

Left anti join pada golongan darah

Membersihkan Data di Python

Inner join pada golongan darah

Membersihkan Data di Python

Menemukan kategori tidak konsisten

inconsistent_categories = set(study_data['blood_type']).difference(categories['blood_type'])
print(inconsistent_categories)
{'Z+'}
# Ambil dan cetak baris dengan kategori tidak konsisten
inconsistent_rows = study_data['blood_type'].isin(inconsistent_categories)

study_data[inconsistent_rows]
      name   birthday blood_type
5 Jennifer 2019-12-17         Z+
Membersihkan Data di Python

Menghapus kategori tidak konsisten

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]

# Hapus kategori tidak konsisten dan ambil data yang konsisten saja 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-
...    ...      ...          ...
Membersihkan Data di Python

Ayo berlatih!

Membersihkan Data di Python

Preparing Video For Download...