I miei array numpy usano np.nanper 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 valnon 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.
pandashapandas.isnull(): non sono sicuro che soddisfi le tue esigenze, quindi alcuni dati di esempio potrebbero essere buoni.