Valori mancanti

Manipolazione dei dati con pandas

Maggie Matsui

Senior Content Developer at DataCamp

Cos'è un valore mancante?

name Razza Colore Altezza (cm) Peso (kg) Data di nascita
Bella Labrador Marrone 56 25 2013-07-01
Charlie Barboncino Nero 43 23 2016-09-16
Lucy Chow Chow Marrone 46 22 2014-08-25
Cooper Schnauzer Grigio 49 17 2011-12-11
Max Labrador Nero 59 29 2017-01-20
Stella Chihuahua Tan 18 2 2015-04-20
Bernie San Bernardo Bianco 77 74 2018-02-27
Manipolazione dei dati con pandas

Cos'è un valore mancante?

name Razza Colore Altezza (cm) Peso (kg) Data di nascita
Bella Labrador Marrone 56 ? 2013-07-01
Charlie Barboncino Nero 43 23 2016-09-16
Lucy Chow Chow Marrone 46 22 2014-08-25
Cooper Schnauzer Grigio 49 ? 2011-12-11
Max Labrador Nero 59 29 2017-01-20
Stella Chihuahua Tan 18 2 2015-04-20
Bernie San Bernardo Bianco 77 74 2018-02-27
Manipolazione dei dati con pandas

Valori mancanti nei DataFrame di pandas

print(dogs)
      name        breed  color  height_cm  weight_kg date_of_birth
0    Bella     Labrador  Brown         56        NaN    2013-07-01
1  Charlie       Poodle  Black         43       24.0    2016-09-16
2     Lucy    Chow Chow  Brown         46       24.0    2014-08-25
3   Cooper    Schnauzer   Gray         49        NaN    2011-12-11
4      Max     Labrador  Black         59       29.0    2017-01-20
5   Stella    Chihuahua    Tan         18        2.0    2015-04-20
6   Bernie  St. Bernard  White         77       74.0    2018-02-27
Manipolazione dei dati con pandas

Rilevamento dei valori mancanti

dogs.isna()
    name  breed  color  height_cm  weight_kg  date_of_birth
0  False  False  False      False       True          False
1  False  False  False      False      False          False
2  False  False  False      False      False          False
3  False  False  False      False       True          False
4  False  False  False      False      False          False
5  False  False  False      False      False          False
6  False  False  False      False      False          False
Manipolazione dei dati con pandas

Trovare i valori mancanti

dogs.isna().any()
name             False
breed            False
color            False
height_cm        False
weight_kg         True
date_of_birth    False
dtype: bool
Manipolazione dei dati con pandas

Contare i valori mancanti

dogs.isna().sum()
name             0
breed            0
color            0
height_cm        0
weight_kg        2
date_of_birth    0
dtype: int64
Manipolazione dei dati con pandas

Tracciare i valori mancanti

import matplotlib.pyplot as plt

dogs.isna().sum().plot(kind="bar") plt.show()

Un grafico a barre che conta i valori mancanti in ogni colonna del set di dati sui cani. Tutte le barre sono a zero, tranne quella del peso, che ha due valori mancanti.

Manipolazione dei dati con pandas

Come togliere i valori mancanti

dogs.dropna()
      name        breed  color  height_cm  weight_kg date_of_birth
1  Charlie       Poodle  Black         43       24.0    2016-09-16
2     Lucy    Chow Chow  Brown         46       24.0    2014-08-25
4      Max     Labrador  Black         59       29.0    2017-01-20
5   Stella    Chihuahua    Tan         18        2.0    2015-04-20
6   Bernie  St. Bernard  White         77       74.0    2018-02-27
Manipolazione dei dati con pandas

Sostituzione dei valori mancanti

dogs.fillna(0)
      name        breed  color  height_cm  weight_kg date_of_birth
0    Bella     Labrador  Brown         56        0.0    2013-07-01
1  Charlie       Poodle  Black         43       24.0    2016-09-16
2     Lucy    Chow Chow  Brown         46       24.0    2014-08-25
3   Cooper    Schnauzer   Gray         49        0.0    2011-12-11
4      Max     Labrador  Black         59       29.0    2017-01-20
5   Stella    Chihuahua    Tan         18        2.0    2015-04-20
6   Bernie  St. Bernard  White         77       74.0    2018-02-27
Manipolazione dei dati con pandas

Passiamo alla pratica!

Manipolazione dei dati con pandas

Preparing Video For Download...