我将numpy数组的元素赋值为“小”值的python浮点型数的减法。当我这样做,并尝试通过打印到命令行来验证结果时,数组报告为全零。这是我的代码:
import numpy as np
np.set_printoptions(precision=20)
pc1x = float(-0.438765)
pc2x = float(-0.394747)
v1 = np.array([0,0,0])
v1[0] = pc1x-pc2x
print pc1x
print pc2x
print v1
输出如下:
^{pr2}$我以为v1是这样的:
[-0.044018 0 0]
我是新手,我承认,这可能是对numpy和float工作原理的一个明显的误解。我以为改变纽比打印选项可以解决问题,但运气不好。任何帮助都太好了!谢谢!在
您正在使用integer数据类型创建数组(因为您没有指定它,NumPy使用您给它的初始数据的类型)。使其成为浮动:
或更改传入数据类型:
^{pr2}$使用
v1 = np.array([0,0,0])
声明数组,numpy假设您需要一个int数组。对它的任何后续操作都将保持这个int数组的状态,因此在添加了您的小数元素之后,它将强制转换回int(结果是所有的零)。用numpy有大量特定于numpy的/特定于平台的数据类型在dtype docs page.中有详细说明
相关问题 更多 >
编程相关推荐