From: Eric N. <no...@ph...> - 2001-09-17 23:34:45
|
Mike, As was pointed out to me when I had a similar query, one way to do this is to define a class which inherits UserArray and refine indexing and slicing. I actually shifted by an offset of one in the opposite direction to what you seem to require. I had intended to generalize to arbitrary offsets, but haven't had the time yet. Anyway, you're welcome to grab my code at http://www.physics.ubc.ca/~mbelab/python/arrayone as a starting point for your class. There are still some issues and quirkiness with the code, but they're documented along with work-arounds, and suggestions for fixes have been made on this mailing list. Again, it's a matter of time... regards, Eric On Mon, Sep 17, 2001 at 05:20:06PM -0600, 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: > > array([[1, 2, 3], > [4, 5, 6], > [7, 8, 9]]) > > I would like to offset it by some amount in either or both the x and > y dimension. Lets say that both the x and y offset would be 1. Then > I would like to have an array like this: > > > > array([[5, 6, 0], > [8, 9, 0], > [0, 0, 0]]) > > Here I don't really care about the values which are now zero. The > main point is that now I can compare the data values at any given > (x,y) point with the values at the adjacent point (over one on each > axis). This would be useful for the kinds of calculations we need to > do. I just can't come up with a numeric way to do this. Does anyone > have any ideas? > > Thanks alot, > > Mike Romberg (ro...@fs...) > > _______________________________________________ > Numpy-discussion mailing list > Num...@li... > https://lists.sourceforge.net/lists/listinfo/numpy-discussion -- ******************************** Eric Nodwell Ph.D. candidate Department of Physics University of British Columbia tel: 604-822-5425 fax: 604-822-5324 no...@ph... |