The Spiteful Octopus - 6 months ago 282

Python Question

Im using python 2.7 and am attempting a forcasting on some random data from 1.00000000 to 3.0000000008. There are approx 196 items in my array and I get the error

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

I do not seem to be able to resolve this issue on my own. Any help or links to relevant documentation would be greatly appreciated.

Here is the code I am using that generates this error

`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)

Answer

If `X`

and `beta`

do not have the same shape as the second term in the rhs of your last line (i.e. `nsample`

), then you will get this type of error. To add an array to a tuple of arrays, they all must be the same shape.

I would recommend looking at the numpy broadcasting rules.