pasting numpy array into bigger array
Tim Heaney
theaney at gmail.com
Wed Jul 26 08:24:00 EDT 2006
"TG" <girodt at gmail.com> writes:
>
> let's say I have :
>
> from numpy import *
> x = identity(5)
> y = zeros((7,7))
>
> I want to paste x into y, starting at coordinates (1,1) in order to
> change y to something like this :
>
> 0 0 0 0 0 0 0
> 0 1 0 0 0 0 0
> 0 0 1 0 0 0 0
> 0 0 0 1 0 0 0
> 0 0 0 0 1 0 0
> 0 0 0 0 0 1 0
> 0 0 0 0 0 0 0
>
> how would you do that ?
You can use Python slice notation for each dimension
y[1:6,1:6] = x
In general, I guess you want something like
y[1:1+x.shape[0], 1:1+x.shape[1]] = x
or
m, n = 1, 1
s, t = x.shape
y[m:m+s, n:n+t] = x
There is a mailing list for numpy
https://lists.sourceforge.net/lists/listinfo/numpy-discussion
You might have more luck asking your question on there.
I think it's a shame there isn't any free documentation for numpy.
Tim
More information about the Python-list
mailing list