在Python的Fraction模块中使用numpy向量元素

时间:2013-04-22 12:50:44

标签: python numpy fractions

我正在尝试使用numpy数组中的元素作为Fraction模块的输入,我收到以下错误:“TypeError:两个参数都应该是Rational实例”

例如,如果我这样做:

Y  =  np.array([7,1], dtype='int64')  
X  =  Y[0]*3+Y[1]

然后:

a = Fraction(58,X)  

我会得到同样的错误。我还尝试X=X.astype('int')X=X.astype('int32'),但没有成功。

如何在Fraction模块所需的“Rational实例”中转换numpy数组?

1 个答案:

答案 0 :(得分:5)

这似乎是Numpy整数与Python的抽象类交互方式的一个不幸的工件(它还取决于你是运行32位还是64位Python,因为dtype='int'意味着{ {1}}或np.int32,但绝不是Python np.int64)。

明确转换为Python int应该有效:

int