Python 在numpy结构化数组列上执行math.sqrt
我有一个numpy结构数组。最后一列需要包含基于行中其他值的简单数学公式的结果。问题是,当我试图计算方程的平方根部分时,会出现以下错误:Python 在numpy结构化数组列上执行math.sqrt,python,arrays,numpy,math.sqrt,Python,Arrays,Numpy,Math.sqrt,我有一个numpy结构数组。最后一列需要包含基于行中其他值的简单数学公式的结果。问题是,当我试图计算方程的平方根部分时,会出现以下错误: TypeError:只有长度为1的数组才能转换为Python标量 限制是我不能迭代数组来一次添加一个值 以下是显示错误的示例: import numpy as np import math data = np.random.randint(-100, 100, (1, 6, 4)) data[:,3] = math.sqrt((0-data[:,0])**
TypeError:只有长度为1的数组才能转换为Python标量
限制是我不能迭代数组来一次添加一个值
以下是显示错误的示例:
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)
你只需要使用
np.sqrt
而不是math.sqrt
(后者只对单个值有效)。我真傻!谢谢你把它捡起来。