Does Python have a function to reduce fractions?
问题 For example, when I calculate 98/42 I want to get 7/3 , not 2.3333333 , is there a function for that using Python or Numpy ? 回答1: The fractions module can do that >>> from fractions import Fraction >>> Fraction(98, 42) Fraction(7, 3) There's a recipe over here for a numpy gcd. Which you could then use to divide your fraction >>> 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