53

私はこれをやろうとしています:

h = [0.2, 0.2, 0.2, 0.2, 0.2]

Y = np.convolve(Y, h, "same")

Y次のようになります。

スクリーンショット

これを行っているときに、次のエラーが発生します。

ValueError: object too deep for desired array

どうしてこれなの?

私の推測では、何らかの形で関数が1D 配列として認識されconvolveないためです。Y

4

4 に答える 4

72

スクリーンショットのY配列は 1D 配列ではなく、300 行 1 列の 2D 配列shapeです(300, 1)

余分な次元を削除するには、配列を としてスライスできますY[:, 0]。通常、n 次元配列を 1D に変換するには、 を使用できますnp.reshape(a, a.size)

2D 配列を 1D に変換するもう 1 つのオプションは、flatten()関数からnumpy.ndarrayモジュールを使用することです。違いは、配列のコピーを作成することです。

于 2013-04-10T10:23:33.470 に答える