14
例えば、私が98/42
を計算するとき、2.3333333
ではなく7/3
を取得したいのですが、それにはPythonを使用する関数がありますか?Numpy
?Pythonには分数を減らす関数がありますか?
例えば、私が98/42
を計算するとき、2.3333333
ではなく7/3
を取得したいのですが、それにはPythonを使用する関数がありますか?Numpy
?Pythonには分数を減らす関数がありますか?
fractions
モジュールは、numpyののGCDのためhere以上のレシピがあります
>>> from fractions import Fraction
>>> Fraction(98, 42)
Fraction(7, 3)
ことを行うことができます。あなたはあなたの分数を分割するために使用することができます
>>> def numpy_gcd(a, b):
... a, b = np.broadcast_arrays(a, b)
... a = a.copy()
... b = b.copy()
... pos = np.nonzero(b)[0]
... while len(pos) > 0:
... b2 = b[pos]
... a[pos], b[pos] = b2, a[pos] % b2
... pos = pos[b[pos]!=0]
... return a
...
>>> numpy_gcd(np.array([98]), np.array([42]))
array([14])
>>> 98/14, 42/14
(7, 3)
ありがとう!よく働く!入力値は整数でなければならず、浮動させることはできません。 – LWZ