By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
443,402 Members | 1,047 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 443,402 IT Pros & Developers. It's quick & easy.

NumPy Question - numpy.put in multi-dimensional array

P: n/a
from numpy import *

a = zeros((2,40), int)

fields = {}
field = 10
fields[field] = '30A', 5

iy = int(fields[field][1])
ix = int(fields[field][0].rstrip('AB'))

for i in range(2):
for j in range(iy):
# put(a,[39 - j],[1]) #1d

Can someone help me figure out how I would do it for multiple rows?

I thought,

put(a,[i][39-j],[1])

but,

Traceback (most recent call last):
put(a,[i][39 - j],[1])
IndexError: list index out of range

Nov 13 '07 #1
Share this Question
Share on Google+
2 Replies


P: n/a
On Nov 13, 1:22 pm, "Bryan.Fodn...@gmail.com"
<Bryan.Fodn...@gmail.comwrote:
from numpy import *

a = zeros((2,40), int)

fields = {}
field = 10
fields[field] = '30A', 5

iy = int(fields[field][1])
ix = int(fields[field][0].rstrip('AB'))

for i in range(2):
for j in range(iy):
# put(a,[39 - j],[1]) #1d

Can someone help me figure out how I would do it for multiple rows?

I thought,

put(a,[i][39-j],[1])

but,

Traceback (most recent call last):
put(a,[i][39 - j],[1])
IndexError: list index out of range
Try
put(a, [(i, 39-j)], [1]
Note, however, that in this case you could just as easily use
a[i, 39-j] = 1
instead.

--Nathan Davis

Nov 13 '07 #2

P: n/a
Br***********@gmail.com wrote:
from numpy import *

a = zeros((2,40), int)

fields = {}
field = 10
fields[field] = '30A', 5

iy = int(fields[field][1])
ix = int(fields[field][0].rstrip('AB'))

for i in range(2):
for j in range(iy):
# put(a,[39 - j],[1]) #1d

Can someone help me figure out how I would do it for multiple rows?
numpy questions are best asked on the numpy mailing list.

http://www.scipy.org/Mailing_Lists
I thought,

put(a,[i][39-j],[1])

but,

Traceback (most recent call last):
put(a,[i][39 - j],[1])
IndexError: list index out of range
In this case, you don't really want put(). Just use indexing:

for i in range(2):
for j in range(iy):
a[i,39-j] = 1

--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco

Nov 13 '07 #3

This discussion thread is closed

Replies have been disabled for this discussion.