[Tutor] How to edit value of second column row i-th array in numpy?

Peter Otten __peter__ at web.de
Thu Jan 15 19:33:35 CET 2015

```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(),)

> 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]])

```