Ist es möglich, eine Zahl auf NaN oder unendlich zu setzen?
Ist es möglich, ein element eines Arrays zu NaN
in Python?
Darüber hinaus ist es möglich, eine variable zu +/- unendlich? Wenn ja, gibt es eine Funktion, um zu überprüfen, ob eine Anzahl wird unendlich oder nicht?
Kommentar zu dem Problem
stackoverflow.com/questions/944700 erfahren Sie, wie Sie überprüfen für NaN. Für Inf und -Inf kann man test mit == aber das funktioniert nicht für NaN, weil der IEEE754-Regeln für NaN.
Ich denke, dass der zuverlässigste Weg ist, um die ordnungsgemäße Verwendung von Funktionen wie
isinf
und isnan
durch numpy
. Siehe meine Antwort unten. InformationsquelleAutor der Frage Bob | 2011-03-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Cast von string mit
float()
:InformationsquelleAutor der Antwort marcog
Ja, Sie können
numpy
.InformationsquelleAutor der Antwort Olivier Verdier
Ja, Sie können immer einen
NaN
oderinf
in einem python -list
(und ähnliche). Allerdings, wenn Sie möchten, um es in einearray
(zum Beispielarray.array
odernumpy.array
), dann der Typ des Arrays muss werdenfloat
odercomplex
!Den
math
-Modul enthält Konstanten fürnan
undinf
(da-Python-3.5) sowie einige Funktionen (ab Python 2.6), um zu überprüfen, ob diese:math.isnan
prüft, ob der Wertnan
:math.isinf
prüft, ob der Wert unendlich (positiv oder negativ):Und eine Funktion, die überprüfen kann, ob eine Zahl nicht
inf
odernan
:math.isfinite
(für Python 3.2+)InformationsquelleAutor der Antwort MSeifert
Bei der Verwendung von Python 2.4, versuchen
Stehe ich vor dem Problem wenn ich die Portierung der simplejson, um ein embedded-Gerät die Ausführung des Python-2.4,
float("9e999")
es behoben. Verwenden Sie nichtinf = 9e999
Sie brauchen, konvertieren Sie es von der string.-inf
gibt die-Infinity
.InformationsquelleAutor der Antwort