[Numpy-discussion] How do I use numpy to do this?
Rob Hooft
rob at hooft.net
Fri Jun 2 01:31:27 EDT 2006
Christopher Barker wrote:
> x = N.arange(minx, maxx+Spacing, Spacing) # makeing sure to get the last
> point
> y = N.arange(miny, maxy+Spacing, Spacing) # an extra is OK
> points = N.zeros((len(y), len(x), 2), N.Float)
> x.shape = (1,-1)
> y.shape = (-1,1)
> points[:,:,0] += x
> points[:,:,1] += y
> points.shape = (-1,2)
>
> print points
How about something like:
>>> k=Numeric.repeat(range(0,5+1),Numeric.ones(6)*7)
>>> l=Numeric.resize(range(0,6+1),[42])
>>>
zone=Numeric.concatenate((k[:,Numeric.NewAxis],l[:,Numeric.NewAxis]),axis=1)
>>> zone
array([[0, 0],
[0, 1],
[0, 2],
...
[5, 4],
[5, 5],
[5, 6]])
This is the same speed as Robert Kern's solution for large arrays, a bit
slower for small arrays. Both are a little faster than yours.
Rob
--
Rob W.W. Hooft || rob at hooft.net || http://www.hooft.net/people/rob/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: timer.py
Type: text/x-python
Size: 1244 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20060602/a78477c7/attachment-0001.py>
More information about the NumPy-Discussion
mailing list