scipy.pi、numpy.pi、またはmath.piを使用する必要がありますか?


137

scipyのダウンロードとnumpyのを使用して、プロジェクトでは、私が使用する必要がありますscipy.pinumpy.piまたはmath.pi


6
いいえ、これらすべてのモジュールが定数を提供しているという事実は、それには何らかの理由があることを教えてくれますか?
ダグラスB.ステープル

3
これは、常にすべてを使用するわけではなく、Piを取得するためだけにモジュールをインストールおよびインポートする必要がないためです。
Lev Levitsky 2012

11
@LevLevitsky私はpythonを使い始めたばかりで、math.expとnumpy.expの間に違いがあることに気づきました(numpy.expはリストを取ることができますが、math.expは浮動小数点数を必要とします)。だから私はそれが馬鹿げた質問だとは思わなかった...
ダグラス・B・ステープル2012

回答:


197
>>> import math
>>> import numpy as np
>>> import scipy
>>> math.pi == np.pi == scipy.pi
True

したがって、問題ではありません。これらはすべて同じ値です。

3つのモジュールすべてがpi値を提供する唯一の理由は、3つのモジュールの1つだけを使用している場合、別のモジュールをインポートする必要なく、piに簡単にアクセスできるためです。彼らはパイに異なる値を提供していません。


15
他のすべての条件が同じであるmath.pi場合、モジュールが依存しないかどうかにnumpyかかわらず、標準ライブラリにあるという理由だけscipyで使用します-しかし、あなたが言うように、最初にインポートするどのモジュールでもpiを使用しますすべて同じ値。
mgilson 2012

3
あなたは既にnumpyの使用を使用している場合はnp.pi、それだけのためにnumpyのをインポートすることは意味がありませんpi、それは中にいたときmath
asmeurer

42

注意すべきことの1つは、すべてのライブラリがpiに対して同じ意味を使用するわけではないことです。そのため、何を使用しているかを知ることは決して害にはなりません。たとえば、シンボリック数学ライブラリSympyのpiの表現は、mathおよびnumpyと同じではありません。

import math
import numpy
import scipy
import sympy

print(math.pi == numpy.pi)
> True
print(math.pi == scipy.pi)
> True
print(math.pi == sympy.pi)
> False

9
sympy Piは定数/浮動小数点数として格納されず、定数を含むオブジェクトです
Naib

22
sympyは、シンボリック数学を行うために、シンボリックに表された正確にpiです。その他は、浮動小数点演算を行うための浮動小数点近似です。
内部石
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.