
Al momento de elegir la fila y posición de la matriz me guarda la variable de arriba hacia abajo, ejemplo: `fila= 3 posicion=2` 



```
import numpy as np
matriz=np.zeros([10,4], dtype=object)
print(matriz)

```

Respuesta:



```
filas|A|B|C|D|
10) [[0 0 0 0]
9)   [0 0 0 0]
8)   [0 0 0 0]
7)   [0 0 x 0]
6)   [0 0 0 0]
5)   [0 0 0 0]
4)   [0 0 0 0]
3)   [0 0 0 0]
2)   [0 0 0 0]
1)   [0 0 0 0]]

```


[Invertir una matriz en Python con Numpy](/questions/275546/invertir-una-matriz-en-python-con-numpy)
====================================================================================================



Los arrays y matrices en NumPy se indizan de izquierda a derecha para las filas y de arriba a abajo las columnas, es decir, el elemento `(0,0)` se sitúa en la esquina superior izquierda. Por lo tanto para tu matriz los índices de cada elemento son



```
    0 1 2 3
____________
0| [0 0 0 0]
1| [0 0 0 0]
2| [0 0 0 0]
3| [0 0 x 0]
4| [0 0 0 0]
5| [0 0 0 0]
6| [0 0 0 0]
7| [0 0 0 0]
8| [0 0 0 0]
9| [0 0 0 0]

```

Por lo que el elemento con la `x` tiene efectivamente los índices `[3, 2]` (fila 3 columna 2).


Si buscas emular un indizado cartesiano, con el elemento con índices `[0, 0]` en la esquina inferior izquierda, solo voltea las filas mediante el método `numpy.flipud`:



```
import numpy as np

matriz = np.zeros([10, 4], dtype=object)
matriz[3, 2] = "X"
print(matriz)

```


> 
> 
> ```
> [[0  0  0  0]
>  [0  0  0  0]
>  [0  0 'X' 0]
>  [0  0  0  0]
>  [0  0  0  0]
>  [0  0  0  0]
>  [0  0  0  0]
>  [0  0  0  0]
>  [0  0  0  0]]
> 
> ```
> 
> 



```
f_matriz = np.flipud(matriz)
print(f_matriz)

```


> 
> 
> ```
> [[0  0  0  0]
>  [0  0  0  0]
>  [0  0  0  0]
>  [0  0  0  0]
>  [0  0  0  0]
>  [0  0  0  0]
>  [0  0 'X' 0]
>  [0  0  0  0]
>  [0  0  0  0]
>  [0  0  0  0]]
> 
> ```
> 
> 


Obviamente puedes también simplemente hacer la conversión del índice de la fila a la hora de indizar, siguiendo la formula `total de filas - índice - 1`:



```
matriz = np.zeros([10, 4], dtype=object)
matriz[matriz.shape[0] - 3 - 1, 2] = "X"
print(matriz)

```


> 
> 
> ```
> [[0  0  0  0]
>  [0  0  0  0]
>  [0  0  0  0]
>  [0  0  0  0]
>  [0  0  0  0]
>  [0  0  0  0]
>  [0  0 'X' 0]
>  [0  0  0  0]
>  [0  0  0  0]
>  [0  0  0  0]]
> 
> ```
> 
> 




Bienvenido allen,


Lo que sucede no es nada raro, de hecho es lo correcto.


La función zero trabaja de esa forma:



```
numpy.zeros(fila, columna)

```

Si tu idea era simplemente imprimir la matriz al revés entonces solo invierte los números:



```
import numpy as np
matriz=np.zeros([4,10], dtype=object)
print(matriz)

```

Te dejo este enlace para más información: 


<https://docs.scipy.org/doc/numpy/reference/generated/numpy.zeros.html>


En el que muestra ejemplos para la misma función


