web-dev-qa-db-fra.com

Numpy `ValueError: les opérandes n'ont pas pu être diffusés avec la forme ... '

J'utilise python 2.7 et j'essaie une prévision sur certaines données aléatoires de 1.00000000 à 3.0000000008. Il y a environ 196 éléments dans mon tableau et j'obtiens l'erreur

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

Je ne semble pas être en mesure de résoudre ce problème par moi-même. Toute aide ou lien vers une documentation pertinente serait grandement apprécié.

Voici le code que j'utilise qui génère cette erreur

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

Si X et beta n'ont pas la même forme que le deuxième terme dans la droite de votre dernière ligne (c'est-à-dire nsample), alors vous obtiendrez ce type d'erreur. Pour ajouter un tableau à un tuple de tableaux, ils doivent tous avoir la même forme.

Je recommanderais de regarder les règles de diffusion numpy .

18
JoshAdel