Verifica i valori NaN in Python
-
Usa la funzione
math.isnan()
per controllare i valorinan
in Python -
Usa la funzione
numpy.isnan()
per controllare i valorinan
in Python -
Usa la funzione
pandas.isna()
per controllare i valorinan
in Python -
Usa
obj != obj
per controllare i valorinan
in Python
Il nan
è una costante che indica che il valore dato non è legale - Not a Number
.
Nota che nan
e NULL
sono due cose diverse. Il valore NULL
indica qualcosa che non esiste ed è vuoto.
In Python, trattiamo tali valori molto frequentemente in oggetti diversi. Quindi è necessario rilevare tali costanti.
In Python, abbiamo la funzione isnan()
, che può controllare i valori nan
. E questa funzione è disponibile in due moduli: NumPy
e math
. La funzione isna()
nel modulo pandas
può anche controllare i valori nan
.
Usa la funzione math.isnan()
per controllare i valori nan
in Python
La funzione isnan()
nella libreria math
può essere usata per controllare le costanti nan
negli oggetti float. Restituisce True
per ogni valore di questo tipo riscontrato. Per esempio:
import math
import numpy as np
b = math.nan
print(np.isnan(b))
Produzione:
True
Nota che la costante math.nan
rappresenta un valore nan
.
Usa la funzione numpy.isnan()
per controllare i valori nan
in Python
La funzione numpy.isnan()
può controllare in diverse raccolte come liste, array e altro per i valori nan
. Controlla ogni elemento e restituisce un array con True
ogniqualvolta incontra le costanti nan
. Per esempio:
import numpy as np
a = np.array([5, 6, np.NaN])
print(np.isnan(a))
Produzione:
[False False True]
La costante np.NaN()
rappresenta anche un valore nan
.
Usa la funzione pandas.isna()
per controllare i valori nan
in Python
La funzione isna()
nel modulo pandas
può rilevare i valori NULL
o nan
. Restituisce True
per tutti questi valori rilevati. Può controllare tali valori anche in un oggetto DataFrame o Series. Per esempio,
import pandas as pd
import numpy as np
ser = pd.Series([5, 6, np.NaN])
print(pd.isna(ser))
Produzione:
0 False
1 False
2 True
dtype: bool
Usa obj != obj
per controllare i valori nan
in Python
Per qualsiasi oggetto tranne nan
, l’espressione obj == obj
restituisce sempre True
. Per esempio,
print([] == [])
print("1" == "1")
print([1, 2, 3] == [1, 2, 3])
print(float("nan") == float("nan"))
Pertanto, potremmo usare obj != obj
per verificare se il valore è nan
. È nan
se il valore restituito è True
.
import math
b = math.nan
def isNaN(num):
return num != num
print(isNaN(b))
Produzione:
True
Questo metodo, tuttavia, potrebbe non riuscire con versioni precedenti di Python (<= Python 2.5).
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn