Qu'est-ce que la diffusion Numpy?
Lors de l'exécution d'opérations arithmétiques sur des tableaux de différentes formes, Numpy fait référence à cela de la diffusion. Ces opérations de tableau sont fréquemment effectuées sur les éléments respectifs. Si deux tableaux ont la même forme, cela peut être fait sur eux avec facilité. Même si ce concept est utile, la diffusion n'est pas toujours recommandée car elle peut entraîner une utilisation inefficace de la mémoire qui ralentit le calcul. Les opérations Numpy sont souvent effectuées sur des paires de tableaux qui sont décomposées élément par élément.
Règles de diffusion
Un ensemble particulier de directives doit être suivi lors de la diffusion. Ceux-ci sont décrits ci-dessous:
Maintenant, discutons de quelques exemples de mise en œuvre du concept de diffusion.
Exemple 1:
Sur les paires de tableaux, les opérations Numpy sont généralement effectuées élément par éléments. Les deux tableaux doivent, dans le scénario le plus simple, avoir la même forme, comme dans l'exemple ci-dessous:
Importer NumpyComme vous pouvez le voir sur le code ci-dessus, nous avons deux tableaux: 'One_Ar' et 'Two_ Arr'. Chacun ayant un ensemble distinct de valeurs. Les valeurs dans «one_arr» sont [2.0,3.0,1.0] et «deux _arr» sont [3.0,3.0,3.0]. Vous pouvez alors voir que le résultat du calcul du produit de ces deux tableaux est le suivant:
Lorsque certaines exigences sont satisfaites par les formulaires des tableaux, la règle de diffusion de Numpy réduit cette restriction. Lorsqu'un tableau et une valeur scalaire sont rejoints dans une opération, la diffusion est démontrée dans sa forme la plus élémentaire. Comme vous pouvez le voir, 3 est contenu dans la variable nommée 'Two_Ar.'
Importer NumpyLe code ci-dessus produit le résultat suivant.
Dans l'exemple précédent, où 'Two_arr' était un tableau, le résultat est équivalent. Nous pouvons imaginer le scalaire «Two_arr» élargi pendant le processus arithmétique dans un tableau ayant la même forme que «un _arr.'The Array' Two_arr 'contient de nouveaux éléments qui ne sont que des doublons du premier scalaire. La comparaison d'étirement est simplement hypothétique. Pour rendre les opérations de radiodiffusion comme mémoire et économique sur le plan de calcul que possible, Numpy est suffisamment intelligent pour utiliser la valeur scalaire d'origine plutôt que de produire des copies.
Exemple 2:
Voici un autre programme Python simple qui effectue la diffusion. Encore une fois, deux tableaux sont créés contenant des valeurs différentes. Il est nécessaire de remodeler 'first_arr' dans un vecteur de colonne avec une forme 3 × 1 pour calculer un produit extérieur. Après cela, la diffusion est effectuée contre 'second_arr' pour fournir le résultat de la taille 3 × 2, connue sous le nom de produit extérieur de 'First_arr' et 'Second_Ar.«La diffusion à 2 × 3 est possible puisque« result_arr »a la forme 2 × 3 ainsi que la forme (3,).
Après avoir suivi toutes les étapes susmentionnées, un vecteur doit être inclus dans chaque colonne des matrices qui sont `` result_arr 'et' second_arr.'Ceux-ci ont des dimensions de 2 × 3 et (2,). La transformation «result_arr» produira une forme de 3 × 2, qui peut ensuite être diffusée contre «second_arr» pour obtenir le même formulaire. En règle générale, la transformation de ceci donne un produit final dans la forme 2 × 3.
Importer NumpyVous pouvez afficher la sortie ci-dessous.
Exemple 3:
Un tableau tridimensionnel peut être diffusé à l'aide du programme Python suivant. Dans cet exemple, deux tableaux nommés 'First_arr' et 'Second_Ar' ont été générés. Le tableau «first_arr» contient [4,13,26,12] valeurs et «second_arr» contient [32,67,45,17]. Les 2 dimensions du tableau initial font la différence. La somme du premier et du deuxième tableau sera présentée ci-dessous après l'exécution du code. Vous pouvez voir que nous avons trois instructions d'impression dans le code, chacune affiche le texte 'First Array:', 'Second Array' et 'Third Array:' À son tour. La somme de ces deux tableaux nouvellement générés est alors indiqué.
Importer NumpyVoici la capture d'écran de sortie du code donné.
Exemple 4:
Le dernier programme Python qui diffuse un tableau tridimensionnel est donné ici. Deux tableaux sont spécifiés dans ce programme, dont le premier a trois dimensions. La somme du premier et du deuxième tableau sera affichée comme indiqué ci-dessus après l'exécution du code. Bien que les valeurs de ces tableaux varient, le code restant est le même que celui utilisé dans l'exemple de programme ci-dessus.
Importer NumpyVous pouvez voir dans la figure ci-dessous qu'un tableau tridimensionnel du premier tableau est présenté, suivi d'un tableau en 2 dimensions du deuxième tableau et du résultat de ces deux-là en utilisant le principe de diffusion.
Conclusion
Cet article a discuté de la diffusion, un concept de python crucial. Dans Numpy, le terme «diffusion» fait référence à la capacité de gérer les tableaux de différentes formes tout en effectuant des opérations arithmétiques qui sont fréquemment effectuées. Le sujet susmentionné a été soigneusement couvert de divers exemples. Cet article a utilisé les exemples de programmes mentionnés pour démontrer comment diffuser sur les tableaux 1-D, 2D et 3D, respectivement. Vous pouvez essayer d'exécuter ces exemples sur votre système et afficher les résultats pour mieux comprendre comment tout fonctionne en général.