我有一个numpy结构化数组。最后一列需要根据行中的其他值包含简单数学方程的结果。问题是我在尝试计算等式的平方根部分时出现以下错误:
TypeError: only length-1 arrays can be converted to Python scalars
限制是我无法迭代数组以一次添加一个值。
以下是显示错误的示例:
import numpy as np
import math
data = np.random.randint(-100, 100, (1, 6, 4))
data[:,3] = math.sqrt((0-data[:,0])**2 + (0-data[:,1])**2 + (0-data[:,2])**2)
答案 0 :(得分:5)
您只需使用np.sqrt
代替math.sqrt
(后者仅适用于单个值)。