Xác thực chéo giữa các trường

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

Adel Nehme

VP of AI Curriculum, DataCamp

Động lực

import pandas as pd

flights = pd.read_csv('flights.csv')
flights.head()
  flight_number  economy_class  business_class  first_class  total_passengers
0         DL140            100              60           40               200
1         BA248            130             100           70               300
2        MEA124            100              50           50               200
3        AFR939            140              70           90               300
4        TKA101            130             100           20               250
Làm sạch dữ liệu với Python

Xác thực chéo giữa các trường

Sử dụng nhiều trường trong dữ liệu để kiểm tra tính toàn vẹn

  flight_number  economy_class  business_class  first_class  total_passengers
0         DL140            100       +      60      +    40        =      200
1         BA248            130       +     100      +    70        =      300
2        MEA124            100       +      50      +    50        =      200
3        AFR939            140       +      70      +    90        =      300
4        TKA101            130       +     100      +    20        =      250
sum_classes = flights[['economy_class', 'business_class', 'first_class']].sum(axis = 1)

passenger_equ = sum_classes == flights['total_passengers']
# Tìm và lọc các dòng có tổng hành khách không khớp inconsistent_pass = flights[~passenger_equ] consistent_pass = flights[passenger_equ]
Làm sạch dữ liệu với Python

Xác thực chéo giữa các trường

users.head()
   user_id  Age   Birthday
0    32985   22 1998-03-02
1    94387   27 1993-12-04
2    34236   42 1978-11-24
3    12551   31 1989-01-03
4    55212   18 2002-07-02
Làm sạch dữ liệu với Python

Xác thực chéo giữa các trường

import pandas as pd
import datetime as dt

# Chuyển sang datetime và lấy ngày hôm nay
users['Birthday'] = pd.to_datetime(users['Birthday'])

today = dt.date.today()
# Với mỗi giá trị trong cột Birthday, tính chênh lệch năm age_manual = today.year - users['Birthday'].dt.year
# Tìm các trường hợp tuổi khớp age_equ = age_manual == users['Age']
# Tìm và lọc các dòng có tuổi không khớp inconsistent_age = users[~age_equ] consistent_age = users[age_equ]
Làm sạch dữ liệu với Python

Làm gì khi phát hiện không nhất quán?

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

Luyện tập nào!

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

Preparing Video For Download...