我有一个数据集,我正在尝试应用一些算术方法.问题是它给了我相对较大的数字,当我用numpy做它时,它们的库存为0.
奇怪的是,当我计算数字appart时,它们有一个int值,当我使用numpy计算它们时它们只变为零.
x = np.array([18,30,31,31,15])
10*150**x[0]/x[0]
Out[1]:36298069767006890
vector = 10*150**x/x
vector
Out[2]: array([0, 0, 0, 0, 0])
Run Code Online (Sandbox Code Playgroud)
我当然检查了他们的类型:
type(10*150**x[0]/x[0]) == type(vector[0])
Out[3]:True
Run Code Online (Sandbox Code Playgroud)
如何使用numpy计算这个大数字而不将它们变成零?
请注意,如果我们在开始时删除因子10,那么问题就会发生变化(但我认为这可能是一个类似的原因):
x = np.array([18,30,31,31,15])
150**x[0]/x[0]
Out[4]:311075541538526549
vector = 150**x/x
vector
Out[5]: array([-329406144173384851, -230584300921369396, 224960293581823801,
-224960293581823801, -368934881474191033])
Run Code Online (Sandbox Code Playgroud)
负数表示python中的int64类型的最大数字是否已经交叉不是吗?