長年の読者、初めての作家。
Google とスタック オーバーフローを検索しましたが、この質問に対する一般的な回答を実際に見つけることができませんでした。
numpy 1.6.2 を使用する Python 2.7.3 で、「*: 'numpy.ndarray' および 'numpy.float64' のサポートされていないオペランド タイプ」エラーが発生します。
このエラーは、numpy 配列と numpy float を乗算することによって発生しますが、毎回発生するわけではありません。
例えば:
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
ランダムな関数と数値が奇妙に見えることは知っていますが、概念的には、両方が変数に個別に設定されたときに機能したため、これは機能するはずです。
なぜこれが起こるのですか?一般的な意味でどのように修正できますか?
本当にありがとう!ジェイソン