web-dev-qa-db-ja.com

Numpy `ValueError:オペランドを形状と一緒にブロードキャストできませんでした...`

python 2.7を使用しており、1.00000000から3.0000000008までのランダムデータを予測しようとしています。配列には約196個のアイテムがあり、エラーが発生します

ValueError: operands could not be broadcast together with shape (2) (50)

この問題を自分で解決することはできないようです。関連するドキュメントへのヘルプまたはリンクをいただければ幸いです。

このエラーを生成する私が使用しているコードは次のとおりです

nsample = 50
sig = 0.25
x1 = np.linspace(0,20, nsample)
X = np.c_[x1, np.sin(x1), (x1-5)**2, np.ones(nsample)]
beta = masterAverageList
y_true = ((X, beta))
y = y_true + sig * np.random.normal(size=nsample)
19

Xbetaが最後の行のrhsの2番目の項と同じ形状でない場合(つまり、nsample)、このタイプのエラーが発生します。配列の配列に配列を追加するには、それらがすべて同じ形状である必要があります。

numpyブロードキャストルール を確認することをお勧めします。

18
JoshAdel