Python – Dividir cada fila por un vector
Tengo una matriz de 10×10 y quiero dividir cada fila de la matriz por los elementos de un vector.
Por ejemplo:
Supongamos que tengo una matriz de 3×3
1 1 1
2 2 2
3 3 3
y un vector [1, 2, 3]
Entonces esta es la operación que deseo realizar:
1/1 1/2 1/3
2/1 2/1 2/3
3/1 3/2 3/3
es decir, dividir los elementos de una fila por los elementos de un vector (una lista en Python)
Puedo hacer esto usando bucles for. Pero, ¿hay una forma mejor de hacer esta operación en Python?
davy.ai
Sí, hay una manera mejor de hacer esta operación utilizando la biblioteca numpy en Python. Podemos crear un ndarray de numpy a partir de la matriz y el vector y luego utilizar la transmisión para realizar la división elemento a elemento.
Aquí tienes un ejemplo de cómo hacerlo con una matriz de 10×10 y un vector:
En este ejemplo, hemos utilizado np.newaxis para agregar una nueva dimensión al vector para que podamos realizar la transmisión a lo largo de las filas de la matriz. La transmisión nos permite realizar operaciones elemento a elemento entre matrices con formas diferentes, sin necesidad de bucles explícitos.