Correction operands could not be broadcast together with shapes l'erreur de formes en Python

Haider Ali 14 avril 2022
Correction operands could not be broadcast together with shapes l'erreur de formes en Python

En Python, les tableaux numpy avec des formes différentes ne peuvent pas être diffusés ensemble. Cela signifie que vous ne pouvez pas ajouter deux tableaux 2D avec des lignes et des colonnes différentes.

Mais il existe un moyen par lequel vous pouvez le faire. Regarde.

Correction operands could not be broadcast together with shapes Erreur en Python

Vous ne pouvez pas additionner ou multiplier deux tableaux 2D de formes différentes. Jetez un oeil au code suivant.

import numpy as np

# Addition Example

# 2d array with shape 2 rows and 3 columns
array_1 = np.array([[1, 1, 1], [1, 1, 1]])
# 2d array with shape 3 rows and 2 columns
array_2 = np.array([[1, 1], [1, 1], [1, 1]])
# Addition applying on the arrays
array_Addition = array_1 + array_2

Comme vous pouvez le voir, il existe deux tableaux 2D avec des formes différentes.

Le premier tableau a deux lignes et trois colonnes, et le second tableau est de trois lignes et deux colonnes. Leur ajout donnera cette erreur operands could not be broadcast together with shapes.

Cela fonctionne de la même manière que l’ajout de deux matrices en mathématiques.

Le premier élément du premier tableau est ajouté avec le premier élément du deuxième tableau, et le deuxième élément sera ajouté avec le second. Donc, si les formes ne correspondent pas, cela donnera une erreur.

Par conséquent, nous devons utiliser les fonctionnalités de remodelage pour avoir les mêmes formes pour les deux tableaux 2D. Dans le code suivant, nous remodelons le deuxième tableau en fonction des formes du premier.

Une fois que les formes sont identiques, vous pouvez ajouter les deux tableaux.

import numpy as np

# Addition Example

# 2d array with shape 2 rows and 3 columns
array_1 = np.array([[1, 1, 1], [1, 1, 1]])
# 2d array with shape 3 rows and 2 columns
array_2 = np.array([[1, 1], [1, 1], [1, 1]])

# changing the shape of array_2 according to the Array_1 or Array_1 according to Array_2
array_2 = array_2.reshape((2, 3))

# again Addition applying on the arrays
array_Addition = array_1 + array_2

print(array_Addition)

Production :

[[2 2 2]
 [2 2 2]]
Auteur: Haider Ali
Haider Ali avatar Haider Ali avatar

Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.

LinkedIn

Article connexe - Python Error

Article connexe - Python NumPy