2016-04-15 31 views

Antwort

1

nan Unter der Annahme, ist bereits eine definierte Variable, dann Sie tun können:

>>> nan="nan" 
>>> mean=[0,1,3,6,4,5,nan,456,nan,5,3,7,nan] 
>>> print([0 if i==nan else i for i in mean]) 
[0, 1, 3, 6, 4, 5, 0, 456, 0, 5, 3, 7, 0] 

Für NaNNot a Number Bezug:

>>> import math 
>>> mean=[0,1,3,6,4,5,float("NaN"),456,float("NaN"),5,3,7,float("NaN")] 
>>> print([0 if math.isnan(i) else i for i in mean]) 
[0, 1, 3, 6, 4, 5, 0, 456, 0, 5, 3, 7, 0] 
4

Angenommen, "nan" ist wirklich ein NaN, Sie können nicht normale Vergleiche verwenden, um sie zu finden, NaN ist nicht gleich einer anderen Zahl oder NaN. Ja, es ist nicht sich selbst gleich.

So haben Sie math.isnan() zu verwenden, um die Kontrolle zu tun:

mean2 = [0 if math.isnan(x) else x for x in mean] 
Verwandte Themen