Whees Northbee wrote: > If I have array a=[[60,70,1],[43,54,2],[87,67,3],[90,89,4],[12,4,5]] where > [x,y,id] and I want to find if x=87 and y=67, and find which row is it,and > I need to edit the id column with new value.. > > I can search in first column using: > if (x in a[:,0]): > print('yes') > > how I can know index row so I can match if y same value with second > column?
I needed some google hand-holding for this, so no warranties: >>> import numpy as np >>> a = np.array([[60,70,1],[43,54,2],[87,67,3],[87,89,4],[12,4,5]]) >>> a[:,:2] == [87,67] array([[False, False], [False, False], [ True, True], [ True, False], [False, False]], dtype=bool) >>> (a[:,:2] == [87,67]).all(axis=1) array([False, False, True, False, False], dtype=bool) >>> np.where((a[:,:2] == [87,67]).all(axis=1)) (array([2]),) > And I search in numpy array document there is no function about > edit, so how I can edit the value the third column/id column if I know > which row? Easy: >>> a[2,2] = 123456 >>> a array([[ 60, 70, 1], [ 43, 54, 2], [ 87, 67, 123456], [ 87, 89, 4], [ 12, 4, 5]]) _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor