Verifica i valori NaN in Python
- 
          
            Usa la funzione math.isnan()per controllare i valorinanin Python
- 
          
            Usa la funzione numpy.isnan()per controllare i valorinanin Python
- 
          
            Usa la funzione pandas.isna()per controllare i valorinanin Python
- 
          
            Usa obj != objper controllare i valorinanin 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