2016-10-07 6 views
-3
sun_ra=round(sunpy.sun.apparent_rightascension(t),4)*15.0 

File "/home/user/.local/lib/python2.7/site-packages/astropy/units/quantity.py", Linie 963, in float Erhöhung Typeerror ( Typeerror ‚Nur dimensions skalaren Größen können sein‘: Nur dimensions skalaren Größen könnenDer folgende Code, wirft die folgende Fehlermeldung ...

+1

Es würde helfen, Ihren Code zu sehen ... insbesondere Zeile 31 ..... – PrestonM

+1

Verwenden Sie 'sunpy.sun.apparent_rightascension (t) .value', um einen Fließkommawert zu erhalten:' round() 'weiß wie damit umgehen. Oder wenn Sie expliziter sein möchten: 'sunpy.sun.apparent_rightascension (t) .to (units °) .value'. – Evert

+1

Insgesamt, * nicht * Runde. Verwenden Sie Formatierung, wenn Sie den Wert drucken, aber behalten Sie ansonsten den tatsächlichen, genauen Wert und runden Sie ihn nicht ab. – Evert

Antwort

1
sun_ra=round(sunpy.sun.apparent_rightascension(t),4)*15.0 

round sieht aus wie die skalaren Python-Funktion Python skalare umgewandelt werden, wird ein Fehler auslösen, wenn gegeben. ein Array oder eine Liste, aber auf Py3 bekomme ich einen anderen Fehler.Die andere Möglichkeit ist, dass die sunpy Funktion einen Skalar erwartet, und t nicht. Aber dafür würde ich einen Fehler in dieser Funktion erwarten.

Also ich denke, Ihre Verwendung von round ist ein Fehler.

+1

Fast: 'sunpy.sun.apparent_rightascension' gibt ein' astropy.coordinate.Angle' oder ähnliches zurück, das eine 'astropy.units.Quantity' ist (ein Fließkomma mit einer angehängten Einheit). 'round' weiß offensichtlich nicht, wie damit umzugehen ist. – Evert