Mes tableaux numpy utilisent np.nanpour désigner les valeurs manquantes. En parcourant l'ensemble de données, je dois détecter ces valeurs manquantes et les gérer de manière spéciale.
J'ai utilisé naïvement numpy.isnan(val), ce qui fonctionne bien sauf s'il valne fait pas partie du sous-ensemble de types pris en charge par numpy.isnan(). Par exemple, des données manquantes peuvent se produire dans des champs de chaîne, auquel cas j'obtiens:
>>> np.isnan('some_string')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Not implemented for this type
Outre l'écriture d'un wrapper coûteux qui détecte l'exception et renvoie False, existe-t-il un moyen de gérer cela de manière élégante et efficace?
pandas.isnull()semble fonctionner parfaitement. Le seul type de données auquel je suis actuellement confronté numpy.isnan()est une chaîne et la pandas.isnull()gère bien. En fait, il semble bien gérer tous les objets arbitraires que je lui ai lancés. Y avait-il des problèmes spécifiques qui vous préoccupaient? Sinon, vous voudrez peut-être soumettre votre commentaire en tant que réponse à part entière, car cela semble être la réponse canonique, du moins pour les utilisateurs de pandas.
pandashaspandas.isnull(): Je ne sais pas si cela répond à vos besoins, donc quelques exemples de données pourraient être utiles.