Python 3,1en utilisant float ('nan') pour représenter les valeurs manquantes - sûr?
Je fais des calculs sur des données qui a des valeurs manquantes. Tout calcul impliquant une valeur manquante doit entraîner une valeur manquante.
Je pense utiliser float('nan')
pour représenter les valeurs manquantes. Est-ce sûr? À la fin je vais juste vérifier
def is_missing(x):
return x!=x # I hope it's safe to use to check for NaN
Cela semble parfait, mais je n'ai pas trouvé de confirmation claire dans la documentation.
Je ne pourrais pas utiliser Bien sûr, mais il faudrait alors que je fais tous les calculs avec try
/except TypeError
pour le détecter. Je pourrais également utiliser Inf
, mais je suis encore moins sûr de la façon dont cela fonctionne.
EDIT:
@MSN Je comprends l'aide NaN est lent. Mais si mon choix est soit:
# missing value represented by NaN
def f(a, b, c):
return a + b * c
ou
# missing value represented by None
def f(a, b, c):
if a is None or b is None or c is None:
return None
else:
return a + b * c
j'imagine l'option NaN est encore plus rapide, est-ce pas?
'math.isnan (x)' est plus lisible que 'x! = x'. – adw