Ràng buộc tính duy nhất

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

Adel Nehme

VP of AI Curriculum, DataCamp

Giá trị trùng lặp là gì?

Tất cả cột có cùng giá trị

first_name last_name address height weight
Justin Saddlemyer Boulevard du Jardin Botanique 3, Bruxelles 193 cm 87 kg
Justin Saddlemyer Boulevard du Jardin Botanique 3, Bruxelles 193 cm 87 kg
Làm sạch dữ liệu với Python

Giá trị trùng lặp là gì?

Hầu hết cột có cùng giá trị

first_name last_name address height weight
Justin Saddlemyer Boulevard du Jardin Botanique 3, Bruxelles 193 cm 87 kg
Justin Saddlemyer Boulevard du Jardin Botanique 3, Bruxelles 194 cm 87 kg
Làm sạch dữ liệu với Python

Vì sao xảy ra trùng lặp?

bản ghi trùng 1

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

Vì sao xảy ra trùng lặp?

bản ghi trùng 2

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

Vì sao xảy ra trùng lặp?

bản ghi trùng 3

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

Tìm giá trị trùng lặp như thế nào?

# Print the header
height_weight.head()
  first_name last_name                       address  height  weight
0       Lane     Reese              534-1559 Nam St.     181      64
1       Ivor    Pierce             102-3364 Non Road     168      66
2      Roary    Gibson   P.O. Box 344, 7785 Nisi Ave     191      99
3    Shannon    Little  691-2550 Consectetuer Street     185      65
4      Abdul       Fry                4565 Risus St.     169      65
Làm sạch dữ liệu với Python

Tìm giá trị trùng lặp như thế nào?

# Get duplicates across all columns
duplicates = height_weight.duplicated()
print(duplicates)
1       False
...     ....
22      True
23      False
...     ...
Làm sạch dữ liệu với Python

Tìm giá trị trùng lặp như thế nào?

# Get duplicate rows
duplicates = height_weight.duplicated()
height_weight[duplicates]
    first_name last_name                               address  height  weight
100       Mary     Colon                           4674 Ut Rd.     179      75
101       Ivor    Pierce                     102-3364 Non Road     168      88
102       Cole    Palmer                       8366 At, Street     178      91
103    Desirae   Shannon  P.O. Box 643, 5251 Consectetuer, Rd.     196      83
Làm sạch dữ liệu với Python

Cách tìm các hàng trùng lặp?

Phương thức .duplicated()

subset: Danh sách cột dùng để kiểm tra trùng lặp.

keep: Giữ bản ghi trùng lặp đầu tiên ('first'), cuối cùng ('last') hoặc tất cả (False).

# Column names to check for duplication
column_names = ['first_name','last_name','address']
duplicates = height_weight.duplicated(subset = column_names, keep = False)
Làm sạch dữ liệu với Python

Cách tìm các hàng trùng lặp?

# Output duplicate values
height_weight[duplicates]
    first_name last_name                               address  height  weight
1         Ivor    Pierce                     102-3364 Non Road     168      66
22        Cole    Palmer                       8366 At, Street     178      91
28     Desirae   Shannon  P.O. Box 643, 5251 Consectetuer, Rd.     195      83
37        Mary     Colon                           4674 Ut Rd.     179      75
100       Mary     Colon                           4674 Ut Rd.     179      75
101       Ivor    Pierce                     102-3364 Non Road     168      88
102       Cole    Palmer                       8366 At, Street     178      91
103    Desirae   Shannon  P.O. Box 643, 5251 Consectetuer, Rd.     196      83
Làm sạch dữ liệu với Python

Cách tìm các hàng trùng lặp?

# Output duplicate values
height_weight[duplicates].sort_values(by = 'first_name')
    first_name last_name                               address  height  weight
22        Cole    Palmer                       8366 At, Street     178      91
102       Cole    Palmer                       8366 At, Street     178      91
28     Desirae   Shannon  P.O. Box 643, 5251 Consectetuer, Rd.     195      83
103    Desirae   Shannon  P.O. Box 643, 5251 Consectetuer, Rd.     196      83
1         Ivor    Pierce                     102-3364 Non Road     168      66
101       Ivor    Pierce                     102-3364 Non Road     168      88
37        Mary     Colon                           4674 Ut Rd.     179      75
100       Mary     Colon                           4674 Ut Rd.     179      75
Làm sạch dữ liệu với Python

Cách tìm các hàng trùng lặp?

# Output duplicate values
height_weight[duplicates].sort_values(by = 'first_name')

Bản ghi trùng hoàn toàn

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

Cách tìm các hàng trùng lặp?

# Output duplicate values
height_weight[duplicates].sort_values(by = 'first_name')

Bản ghi trùng một phần

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

Xử lý giá trị trùng lặp như thế nào?

# Output duplicate values
height_weight[duplicates].sort_values(by = 'first_name')

Bản ghi trùng hoàn toàn

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

Xử lý giá trị trùng lặp như thế nào?

Phương thức .drop_duplicates()

subset: Danh sách cột dùng để kiểm tra trùng lặp.

keep: Giữ bản ghi trùng lặp đầu ('first'), cuối ('last') hoặc tất cả (False).

inplace: Xóa trực tiếp các hàng trùng trong DataFrame, không tạo đối tượng mới (True).

# Drop duplicates
height_weight.drop_duplicates(inplace = True)
Làm sạch dữ liệu với Python

Xử lý giá trị trùng lặp như thế nào?

# Output duplicate values
column_names = ['first_name','last_name','address']
duplicates = height_weight.duplicated(subset = column_names, keep = False)
height_weight[duplicates].sort_values(by = 'first_name')
    first_name last_name                               address  height  weight
28     Desirae   Shannon  P.O. Box 643, 5251 Consectetuer, Rd.     195      83
103    Desirae   Shannon  P.O. Box 643, 5251 Consectetuer, Rd.     196      83
1         Ivor    Pierce                     102-3364 Non Road     168      66
101       Ivor    Pierce                     102-3364 Non Road     168      88
Làm sạch dữ liệu với Python

Xử lý giá trị trùng lặp như thế nào?

# Output duplicate values
column_names = ['first_name','last_name','address']
duplicates = height_weight.duplicated(subset = column_names, keep = False)
height_weight[duplicates].sort_values(by = 'first_name')

Gộp bản ghi trùng để tổng hợp

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

Xử lý giá trị trùng lặp như thế nào?

Các phương thức .groupby().agg()

# Group by column names and produce statistical summaries
column_names = ['first_name','last_name','address']
summaries = {'height': 'max', 'weight': 'mean'}
height_weight = height_weight.groupby(by = column_names).agg(summaries).reset_index()

# Make sure aggregation is done duplicates = height_weight.duplicated(subset = column_names, keep = False) height_weight[duplicates].sort_values(by = 'first_name')
first_name    last_name    address    height    weight

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...