Wie überprüfe ich, ob ein Sympy-Ausdruck zu Nan bewertet?Prüfen, ob Sympy Expression Nan ist?
Ich brauche einfach, so etwas zu tun:
if is_nan(expression):
#Do stuff
Wie überprüfe ich, ob ein Sympy-Ausdruck zu Nan bewertet?Prüfen, ob Sympy Expression Nan ist?
Ich brauche einfach, so etwas zu tun:
if is_nan(expression):
#Do stuff
In SymPy, ==
prüft immer strukturelle Gleichheit (das heißt, wenn zwei Ausdrücke genau gleich sind). Dies funktioniert sogar für Nanometer, so dass keine separate isnan
Funktion benötigt wird (strenggenommen ist SymPys Nan nicht ein IEEE 754 Nan).
In sympy können Sie auf Gleichheit überprüfen Sie mit dem sympy nan Objekt:
>>> alpha = sympy.nan
>>> alpha == sympy.nan
True
In numpy, können Sie nicht auf Gleichheit überprüfen mit Das numpy nan Objekt:
>>> alpha = numpy.nan
>>> alpha == numpy.nan
False
>>> numpy.isnan(alpha)
True
Daher gibt es eine numpy.isnan() -Methode, und es gibt keine a sympy.isnan() Methode.
Credit Morgan Thrapp
'if Ausdruck == sympy.NaN'? Ich bin mir nicht sicher, wo genau 'NaN' in der Sympy-Bibliothek lebt, aber ich weiß, dass es eine vordefinierte Konstante ist. –
Ich denke, das funktioniert –
Um meine Intelligenz zu verteidigen -> numpy wird Gleichheit auf diese Weise nicht erkennen ... –