Vraag Numpy `ValueError: operanden kunnen niet samen met de vorm worden uitgezonden ...`


Ik gebruik python 2.7 en probeer een forcasting uit te voeren op enkele willekeurige gegevens van 1.00000000 tot 3.0000000008. Er zijn ongeveer 196 items in mijn array en ik krijg de foutmelding

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

Ik ben niet in staat om dit probleem alleen op te lossen. Alle hulp of links naar relevante documentatie zouden zeer op prijs worden gesteld.

Hier is de code die ik gebruik die deze fout genereert

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
2017-08-08 01:34


oorsprong


antwoorden:


Als X en beta hebben niet dezelfde vorm als de tweede term in de rij van uw laatste regel (d.w.z. nsample), dan krijg je dit type fout. Als u een array aan een tuple van arrays wilt toevoegen, moeten ze allemaal dezelfde vorm hebben.

Ik zou aanraden om naar te kijken numpy uitzendregels.


17
2017-08-08 01:48