长期读者,第一次作家.
我搜索了谷歌和堆栈溢出,但真的无法找到这个问题的一般答案.
我使用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
Run Code Online (Sandbox Code Playgroud)
要么
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
Run Code Online (Sandbox Code Playgroud)
两者都有效
现在针对问题儿童:
np.multiply(np.square(np.add(np.divide(np.zeros(100),42),-27)**40)),
np.tan(np.abs(np.multiply(-31,41))))
Run Code Online (Sandbox Code Playgroud)
或者,如上所述定义x:
np.multiply(np.square(np.add(np.divide(np.zeros(100),42),(-27)**40)),x)
Run Code Online (Sandbox Code Playgroud)
两者都产生错误:NotImplemented
我知道随机函数和数字看起来很奇怪,但从概念上讲,它仍然可以工作,因为它们都可以单独设置为变量.
为什么会这样?如何在一般意义上修复它?
非常感谢!贾森