Bala subramanian wrote: > Thank you all for the answer. Below, i have pasted a sample code that > shows what i am intending to do. The code fails at line 13 as numpy > array dnt have a index attribute. > > 1 #!/usr/bin/env python > 2 import numpy as np > 3 > 4 a=np.array([1,2,3,4,5,6,7,8,9,10,11,12]) > 5 > 6 b=np.reshape(a,(3,4)) > 7 > 8 z=[100,101,102,103,104,106,107,108,109,110,111,112] > 9 > 10 # loop over each row > 11 for i1, d1 in enumerate(b): > 12 # each x in d1 - value in z corresponding to index of x in d1 > 13 d1=[x-z[d1.index(x)] for x in d1] > > If d1 is a simple list, i can fetch the index of its element as > d1.index(x). So i would like to know how can achieve the same with > numpy array.
How about >>> b - np.array(z[:4]) array([[-99, -99, -99, -99], [-95, -95, -95, -95], [-91, -91, -91, -91]]) (Note that the result may differ from that of your code if d1 contains duplicate values) _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor