Cosa fare quando i panda non riconoscono la stringa di dati NA / ND come valore mancante
Valori mancanti nei panda
Nei set di dati sperimentali, i bianchi possono essere integrati con NA, NA (non analizzato) o ND, ND (non rilevato). In panda, NA e ND sono riconosciuti solo come una stringa di caratteri (oggetto), quindi non è possibile elaborare in batch i valori mancanti utilizzando le funzioni dropna (), fillna () e isnull () così come sono ...
I seguenti sono riconosciuti come valori mancanti nei panda:
- NaN
- Nessuna
- np.nan
- matematica.nan
Le stringhe NA e ND devono essere convertite in una delle precedenti.
Elaborazione per NA e ND
Crea dati campione inclusi NA, ND e NaN.
In [1]: import numpy as np import pandas as pd df = pd.DataFrame ({'A': [1, 'ND', 2, 3], 'B': [4, 'NA', 5, 6 ], 'C': [7, 'ND', Nessuno, np.nan]}) Uscita [1] ABC 0 1 4 7 1 ND NA ND 2 2 5 NaN 3 3 5 NaN
Nonne e np.nan vengono riconosciuti e contati come valori mancanti, ma ND e NA sono False.
isnull (): restituisce True se il valore è mancante
isnull.sum (): valori mancanti aggregati
In [2]: df.isnull () Out [2]: ABC 0 False False False 1 False False False 2 False False True 3 False False True In [3]: df.isnull (). Sum () Out [3] : A 0 B 0 C 2 dtipo: int64
Sostituisci la stringa ND con la funzione di sostituzione
In [4]: df = df.replace ('ND', np.nan) Out [4]: A B C 0 1 4 7 1 NaN NA NaN 2 2 5 NaN 3 3 5 NaN
isnull () e fillna () possono ora essere applicati.
In [5]: df.isnull () Out [5]: ABC 0 False False False 1 True False True 2 False False True 3 False False True In [6]: df.isnull (). Sum () Out [6] : A 2 B 0 C 2 dtype: int64 In [7]: df.fillna (10) Out [7]: ABC 0 1 4 7 1 10 NA 10 2 2 5 10 3 3 5 10
discussione
Elenco dei commenti
Non ci sono ancora commenti