Diviser la matrice par vecteur dans NumPy

Muhammad Maisam Abbas 30 janvier 2023
  1. Diviser la matrice par vecteur dans NumPy avec la méthode de découpage de tableau en Python
  2. Diviser la matrice par vecteur dans NumPy avec la méthode Transpose dans NumPy
  3. Diviser la matrice par vecteur dans NumPy avec la fonction numpy.reshape()
Diviser la matrice par vecteur dans NumPy

Ce tutoriel discutera des méthodes pour diviser une matrice par un vecteur dans NumPy.

Diviser la matrice par vecteur dans NumPy avec la méthode de découpage de tableau en Python

Une matrice est un tableau 2D, tandis qu’un vecteur n’est qu’un tableau 1D. Si nous voulons diviser les éléments d’une matrice par les éléments vectoriels de chaque ligne, nous devons ajouter une nouvelle dimension au vecteur. Nous pouvons ajouter une nouvelle dimension au vecteur avec la méthode de découpage de tableau en Python. L’exemple de code suivant nous montre comment diviser chaque ligne d’une matrice par un vecteur avec la méthode de découpage de tableau en Python.

import numpy as np

matrix = np.array([[2, 2, 2], [4, 4, 4], [6, 6, 6]])

vector = np.array([2, 4, 6])

matrix = matrix / vector[:, None]
print(matrix)

Production:

[[1. 1. 1.]
 [1. 1. 1.]
 [1. 1. 1.]]

Nous avons d’abord créé la matrice et le vecteur avec la fonction np.array(). Nous avons ensuite ajouté un nouvel axe au vecteur avec la méthode de slicing. Nous avons ensuite divisé la matrice par le tableau et enregistré le résultat à l’intérieur de la matrice.

Diviser la matrice par vecteur dans NumPy avec la méthode Transpose dans NumPy

Nous pouvons également transposer la matrice pour diviser chaque ligne de la matrice par chaque élément vectoriel. Après cela, nous pouvons transposer le résultat pour revenir à l’orientation précédente de la matrice. Voir l’exemple de code suivant.

import numpy as np

matrix = np.array([[2, 2, 2], [4, 4, 4], [6, 6, 6]])

vector = np.array([2, 4, 6])

matrix = (matrix.T / vector).T
print(matrix)

Production:

[[1. 1. 1.]
 [1. 1. 1.]
 [1. 1. 1.]]

Dans le code ci-dessus, nous avons pris une transposée de la matrice et l’avons divisée par le vecteur. Après cela, nous avons pris une transposition du résultat et l’avons stocké dans la matrice.

Diviser la matrice par vecteur dans NumPy avec la fonction numpy.reshape()

L’idée derrière cette approche est que nous devons d’abord convertir le vecteur en un tableau 2D. La fonction numpy.reshape() peut être utilisée pour convertir le vecteur en un tableau 2D où chaque ligne ne contient qu’un seul élément. On peut alors facilement diviser chaque ligne de la matrice par chaque ligne du vecteur.

import numpy as np

matrix = np.array([[2, 2, 2], [4, 4, 4], [6, 6, 6]])

vector = np.array([2, 4, 6])

matrix = matrix / vector.reshape((3, 1))
print(matrix)

Production:

[[1. 1. 1.]
 [1. 1. 1.]
 [1. 1. 1.]]

Dans le code ci-dessus, nous avons converti le vector en un tableau 2D avec la fonction np.reshape(). Après cela, nous avons divisé la matrix par le vector et stocké le résultat à l’intérieur de la matrix.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Article connexe - NumPy Vector

Article connexe - NumPy Matrix