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

ファイル "/home/user/.local/lib/python2.7/site-packages/astropy/units/quantity.py"、ライン963、 フロート 昇給の例外TypeError( はTypeError「は無次元のスカラー量ができ」:のみ無次元のスカラー量は次のコード、...で

+1

あなたのコードを見るのに役立ちます...特に31行目..... – PrestonM

+1

'sunpy.sun.apparent_rightascension(t).value'を使用して浮動小数点値を取得します:' round() 'はそれに対処する。または、明示的にしたい場合は、 'sunpy.sun.apparent_rightascension(t).to(units¶).value'を使います。 – Evert

+1

全体的には、*丸められません。値を印刷するときは書式設定を使用しますが、それ以外の場合は実際の正確な値を保持して丸めないでください。 – Evert

答えて

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

round Pythonのスカラに変換することができますが、スカラーPythonの関数のように見える与えられた場合にはエラーが発生します。配列やリストですが、Py3では違うエラーが発生します。

sunpy関数はスカラーを期待しており、tはそうでない可能性があります。しかし、そのためには、私はその機能にさらに誤りがあると思います。

roundの使用は誤りです。

+1

ほぼ: 'sunpy.sun.apparent_rightascension'は、' astropy.unordinate.Angle'または同様のものを返します。これは、 'astropy.units.Quantity'(ユニットが付いたフロート)です。 'round'は明らかにそれをどう扱うべきか分かりません。 – Evert