numpy数组中元素的乘法和除法给出整数结果

时间:2017-11-04 02:06:56

标签: python numpy

import numpy as np
A = np.array([[2,1,-1,8],
         [-3,-1,2,-11],
         [-2,1,2,-3]])

B =  A[1]+A[0]* (-A[1][0]/A[0][0])
print(B) #B =[ 0.   0.5  0.5  1. ]
A[1] = A[1]+A[0]* (-A[1][0]/A[0][0])
print(A[1]) #A[1] = [0 0 0 1]

上述情况如何发生,我该怎么办呢?

1 个答案:

答案 0 :(得分:3)

在主阵列中使用dtype=float。默认情况下,您的数组是整数。

import numpy as np
A = np.array([[2,1,-1,8],
         [-3,-1,2,-11],
         [-2,1,2,-3]], dtype=float)
B =  A[1] + (A[0]*(-A[1,0]/A[0,0]))
print(B)
A[1] = A[1] + (A[0]*(-A[1,0]/A[0,0]))
print(A[1])
#Output:
#[ 0.   0.5  0.5  1. ]
#[ 0.   0.5  0.5  1. ]