我正在写一个程序,但我发现很难更新numpy数组。代码:
print("p: " + str(pontoP))
print("d: " + str(deslocamento))
novoP = np.array([0,0,0])
novoP = pontoP + deslocamento
pontos[i] = novoP
print("p+d: " + str(pontos[i]))
输出:
p: [0. 1. 0.33333333]
d: [ 0. -1. 0.]
p+d: [0 0 0]
pontoP,novoP和deslocamento为1D numpy数组(长度为3),pontos是一个2D numpy数组(大小为8 x 3)。
novoP = pontoP + deslocamento正在工作:数组正在按元素求和。然而,pontos[i] = novoP无法更新2D数组pontos.我能做什么?期望的结果是替换pontos的第i个数组。novoP.
多亏了@hpauli,我发现问题是numpy数组的类型。这是一个int
,当我试图在其中放入一个浮点数时,浮点数被舍入。