Numpy - 在数组结果中显示小数值

2 投票
3 回答
5022 浏览
提问于 2025-04-15 16:23

我该怎么计算一个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

试着把数组 AC 转换成浮点数数组。比如:

A = A * 1.0

这样一来,进行的除法运算就会是浮点数除法了。

6

为了避免整数除法,可以使用 numpy.true_divide(A,C)。你也可以在文件的顶部加上 from __future__ import division,这样就会默认使用这种除法方式。

撰写回答