[Tutor] calculation with arrays: shape mismatch
Alan Gauld
alan.gauld at btinternet.com
Tue Oct 30 00:24:28 CET 2007
"John" <washakie at gmail.com> wrote
> Sorry, here's the output from the command line
>
>>>>run Day_footprint.py
Sorry for all the questions but I've never seen that "run" syntax
before.
What environment are you running? What IDE/OS/Python version etc?
> trying...
> header has been opened
> succes!
> Reading grid 20060511000000 at: Mon Oct 29 16:57:57 2007
> processing: 20060511000000
>
>
> Traceback (most recent call last):
> File "Day_footprint.py", line 48, in ?
> contribution=[contribution+grid[:,:,z:,k,0]/A for z in
> range(len(H['outheigh
> t']))]
> ValueError: shape mismatch: objects cannot be broadcast to a single
> shape
Hmm, in this case the error isn't telli8ng us too much extra other
than the line it doesn't like. But, putting this together with the
code you posted earlier...
---------------
for k in range(nr):
contribution=N.zeros(shape(H['area']))
contribution=[contribution+grid[:,:,z:,k,0]/A
for z in range(len(H['outheight']))]
zplot[:,:,k]=zplot[:,:,k]+contribution;
-------------
I will hazard a guess that N.zeros(...) is a different size to
grid[:,:,z:,k,0]/A
But since I have no idea what these look like - I assume its numPy
or somesuch structure ? - I can only guess. Can you decompose
the list comprehension and add some useful print statements
to help debug it?
HTH,
Alan G.
More information about the Tutor
mailing list