长期阅读,第一次写。
我在谷歌和堆栈溢出上四处搜索,但并没有真正找到这个问题的一般答案。
我在使用 numpy 1.6.2 的 python 2.7.3 中收到“*: 'numpy.ndarray' 和 'numpy.float64' 不支持的操作数类型”错误。
该错误来自将 numpy 数组和 numpy 浮点数相乘,但并非每次都发生。
例如:
x = np.tan(1) # numpy.float64
y = np.array([0,1,2,3]) # numpy.ndarray
np.multiply(x,y) # works no problem
或者
x = np.tan(np.abs(np.multiply(-31,41))) # numpy.float64
y = np.square(np.add(np.divide(np.zeros(100),42),(-27)**40)) # numpy.ndarray
np.multiply(x,y) # works no problem
两者都工作
现在对于有问题的孩子:
np.multiply(np.square(np.add(np.divide(np.zeros(100),42),-27)**40)),
np.tan(np.abs(np.multiply(-31,41))))
或者,x 定义如上:
np.multiply(np.square(np.add(np.divide(np.zeros(100),42),(-27)**40)),x)
两者都会产生错误:NotImplemented
我知道随机函数和数字看起来很奇怪,但从概念上讲这仍然应该工作,因为当两者都单独设置为变量时它工作。
为什么会这样?我该如何从一般意义上解决它?
非常感谢!杰森