Validação entre campos

Limpeza de dados em Python

Adel Nehme

VP of AI Curriculum, DataCamp

Motivação

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
Limpeza de dados em Python

Validação entre campos

Uso de vários campos de um dataset para checar a integridade dos dados

  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']
# Encontrar e filtrar linhas com totais de passageiros inconsistentes inconsistent_pass = flights[~passenger_equ] consistent_pass = flights[passenger_equ]
Limpeza de dados em Python

Validação entre campos

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
Limpeza de dados em Python

Validação entre campos

import pandas as pd
import datetime as dt

# Converter para datetime e obter a data de hoje
users['Birthday'] = pd.to_datetime(users['Birthday'])

today = dt.date.today()
# Para cada linha em Birthday, calcular a diferença de anos age_manual = today.year - users['Birthday'].dt.year
# Encontrar casos em que as idades batem age_equ = age_manual == users['Age']
# Encontrar e filtrar linhas com idade inconsistente inconsistent_age = users[~age_equ] consistent_age = users[age_equ]
Limpeza de dados em Python

O que fazer quando achar inconsistências?

Limpeza de dados em Python

Vamos praticar!

Limpeza de dados em Python

Preparing Video For Download...