Numpy - 在数组结果中显示小数值
我该怎么计算一个Python的numpy数组,确保所有的小数都被计算到,而不是跳过某些值呢?
>> A = numpy.array ([[1,2,3], [4,5,6], [7,8,9]]).
>> C = numpy.array ([[7,8,9], [1,2,3], [4,5,6]]).
>> A / C
array ([[0, 0, 0],
[4, 2, 2],
[1, 1, 1]])
不过在第一个向量中,不应该有绝对零的值,比如 [0.143, 0.250, 0.333]
。
3 个回答
1
Numpy数组可以有不同的数据类型。你也可以创建一个浮点数数组,它在进行除法运算时总是能正确计算:
>>> A = numpy.array ([[1,2,3], [4,5,6], [7,8,9]], dtype=float)
>>> A/2
array([[ 0.5, 1. , 1.5],
[ 2. , 2.5, 3. ],
[ 3.5, 4. , 4.5]])
注意这里的 dtype=
参数是用在 numpy.array
里的。
4
试着把数组 A
或 C
转换成浮点数数组。比如:
A = A * 1.0
这样一来,进行的除法运算就会是浮点数除法了。
6
为了避免整数除法,可以使用 numpy.true_divide(A,C)
。你也可以在文件的顶部加上 from __future__ import division
,这样就会默认使用这种除法方式。