[Numpy-discussion] Offset 2D arrays

Herbert L. Roitblat roitblat at hawaii.edu
Tue Sep 18 10:57:03 EDT 2001


This will work:
b=zeros ((3,3))
b[:2,:2] = b[:2,:2] + a[1:,1:]

You need to know the size of a to use this scheme.

----- Original Message ----- 
From: "Chris Barker" <chrishbarker at home.net>
To: "Mike Romberg" <romberg at fsl.noaa.gov>
Cc: <numpy-discussion at lists.sourceforge.net>
Sent: Monday, September 17, 2001 2:03 PM
Subject: Re: [Numpy-discussion] Offset 2D arrays


> Mike Romberg wrote:
> > 
> >   I am attempting to create 2D arrays which are offset copies of a
> > given starting array.  For example if I have a 2D array like this:
> 
> > have any ideas?
> 
> This is not quite as clean as i would like, but this will work:
> 
> >>> a = array([[1, 2, 3],
> ...        [4, 5, 6],
> ...        [7, 8, 9]])
> >>> m,n = a.shape
> >>> b[:m-1,:n-1] =  a[1:,1:]
> >>> b
> array([[5, 6, 0],
>        [8, 9, 0],
>        [0, 0, 0]])
> >>>
> 
> if b does not have to be the same shape as a, then it is really easy:
> 
> >>> b =  a[1:,1:]
> 
> -Chris
> 
> 
> -- 
> Christopher Barker,
> Ph.D.                                                           
> ChrisHBarker at home.net                 ---           ---           ---
> http://members.home.net/barkerlohmann ---@@       -----@@       -----@@
>                                    ------@@@     ------@@@     ------@@@
> Oil Spill Modeling                ------   @    ------   @   ------   @
> Water Resources Engineering       -------      ---------     --------    
> Coastal and Fluvial Hydrodynamics --------------------------------------
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Numpy-discussion mailing list
> Numpy-discussion at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/numpy-discussion
> 





More information about the NumPy-Discussion mailing list