I miei array numpy usano np.nan
per designare i valori mancanti. Mentre itero sul set di dati, ho bisogno di rilevare tali valori mancanti e gestirli in modi speciali.
Ingenuamente ho usato numpy.isnan(val)
, che funziona bene a meno che val
non sia tra il sottoinsieme di tipi supportati da numpy.isnan()
. Ad esempio, i dati mancanti possono verificarsi nei campi stringa, nel qual caso ottengo:
>>> np.isnan('some_string')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Not implemented for this type
Oltre a scrivere un involucro costoso che cattura l'eccezione e ritorna False
, c'è un modo per gestirlo in modo elegante ed efficiente?
pandas.isnull()
sembra funzionare perfettamente. L'unico tipo di dati con cui sto attualmente trattando che si interrompe numpy.isnan()
è la stringa e lo pandas.isnull()
gestisce bene. In effetti, sembra gestire bene tutti gli oggetti arbitrari che gli ho lanciato. C'erano problemi specifici di cui eri preoccupato? Altrimenti, potresti voler inviare il tuo commento come una risposta a tutti gli effetti, poiché sembra la risposta canonica, almeno per gli utenti di panda.
pandas
hapandas.isnull()
: non sono sicuro che soddisfi le tue esigenze, quindi alcuni dati di esempio potrebbero essere buoni.