## Issue

I’m looking to slice out the minimum value along the first axis of an array.

For example, in the code below, I want to print out `np.array([13, 0, 12, 3])`

.

However, the slicing isn’t behaving as I would think it does.

(I do need the argmin array later and don’t want to just use `np.min(g, axis=1)`

)

```
import numpy as np
g = np.array([[13, 23, 14], [12, 23, 0], [39, 12, 92], [19, 4, 3]])
min_ = np.argmin(g, axis=1)
print(g[:, min_])
```

What is happening here?

Why is my result from the code

```
[[13 14 23 14]
[12 0 23 0]
[39 92 12 92]
[19 3 4 3]]
```

Other details:

Python 3.10.2

Numpy 1.22.1

## Solution

If you want use `np.argmin`

, you can try this:

**For more explanation :** from `min_`

you have `array([0, 2, 1, 2]) `

but for accessing to array you need `((0, 1, 2, 3), (0, 2, 1, 2))`

for this reason you can use `range`

.

```
min_ = np.argmin(g, axis=1)
g[range(len(min_)), min_] # like as np.min(g ,axis=1)
```

Output:

```
array([13, 0, 12, 3])
```

Answered By – I'mahdi

Answer Checked By – Katrina (BugsFixing Volunteer)