Contraintes relatives aux types de données

Nettoyage des données en Python

Adel Nehme

VP of AI Curriculum, DataCamp

Plan du cours

dirty_data

Nettoyage des données en Python

Plan du cours

side effects

Nettoyage des données en Python

Plan du cours

clean_data

Nettoyage des données en Python

Plan du cours

clean_data

Chapitre 1 - Problèmes courants liés aux données

Nettoyage des données en Python

Pourquoi est-il nécessaire de nettoyer les données ?

ds_workflow

Nettoyage des données en Python

Pourquoi est-il nécessaire de nettoyer les données ?

ds_workflow

Nettoyage des données en Python

Pourquoi est-il nécessaire de nettoyer les données ?

                                                                                   Une bonne présentation commence par de bonnes données

Nettoyage des données en Python

Contraintes relatives aux types de données

Type de données Exemple
Données textuelles Prénom, nom, adresse…
Nombres entiers Nombre d'abonnés, nombre de produits vendus…
Décimales Température, taux de change…
Binaire Est marié, nouveau client, oui/non, …
Dates Dates de commande, dates d'expédition…
Catégories État civil, sexe…
Types de données Python
str
int
float
bool
datetime
category
Nettoyage des données en Python

Chaînes vers entiers

# Import CSV file and output header
sales = pd.read_csv('sales.csv')
sales.head(2)
   SalesOrderID    Revenue    Quantity
0         43659     23153$          12
1         43660      1457$           2
# Get data types of columns
sales.dtypes
SalesOrderID    int64
Revenue         object
Quantity        int64
dtype: object
Nettoyage des données en Python

Chaîne vers entiers

# Get DataFrame information
sales.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 31465 entries, 0 to 31464
Data columns (total 3 columns):
SalesOrderID     31465 non-null int64
Revenue          31465 non-null object
Quantity         31465 non-null int64
dtypes: int64(2), object(1)
memory usage: 737.5+ KB
Nettoyage des données en Python

Chaîne vers entiers

# Print sum of all Revenue column
sales['Revenue'].sum()
'23153$1457$36865$32474$472$27510$16158$5694$6876$40487$807$6893$9153$6895$4216..
# Remove $ from Revenue column
sales['Revenue'] = sales['Revenue'].str.strip('$')
sales['Revenue'] = sales['Revenue'].astype('int')
# Verify that Revenue is now an integer
assert sales['Revenue'].dtype == 'int'
Nettoyage des données en Python

L'instruction assert

# This will pass
assert 1+1 == 2
# This will not pass
assert 1+1 == 3
AssertionError                            Traceback (most recent call last)
         assert 1+1 == 3
AssertionError:
Nettoyage des données en Python

Numérique ou catégoriel ?

...   marriage_status    ...
...                 3    ...
...                 1    ...
...                 2    ...

0 = Jamais marié       1 = Marié       2 = Séparé       3 = Divorcé

df['marriage_status'].describe()
       marriage_status
...
mean              1.4
std               0.20
min               0.00
50%               1.8 ...
Nettoyage des données en Python

Numérique ou catégoriel ?

# Convert to categorical
df["marriage_status"] = df["marriage_status"].astype('category')

df.describe()
        marriage_status
count                 241
unique                4
top                   1
freq                  120
Nettoyage des données en Python

Passons à la pratique !

Nettoyage des données en Python

Preparing Video For Download...