Maison  >  Article  >  interface Web  >  Comment implémenter l'échange de dimensions dans Numpy

Comment implémenter l'échange de dimensions dans Numpy

WBOY
WBOYoriginal
2024-01-26 10:05:06801parcourir

Comment implémenter léchange de dimensions dans Numpy

Conseils pour échanger des dimensions dans numpy

Introduction :
numpy est une puissante bibliothèque Python principalement utilisée pour le calcul scientifique et l'analyse de données. Dans numpy, nous avons souvent besoin de traiter des tableaux multidimensionnels, et l'échange de dimensions de tableaux est également l'une des opérations courantes. Cet article présentera quelques techniques d'échange de dimensions dans numpy et fournira des exemples de code spécifiques.

1. Fonction d'échange de dimensions dans numpy
Dans numpy, nous pouvons utiliser la fonction transpose() et la fonction swapaxes() pour effectuer un échange de dimensions.

  1. Fonction transpose() La fonction
    transpose() est utilisée pour échanger les dimensions d'un tableau, ce qui peut être réalisé en spécifiant l'ordre des axes. Le prototype de la fonction est :

numpy.transpose(arr, axes)

où arr est le tableau à transposer, axes est l'ordre des axes, qui peut être un entier ou une séquence d'entiers. Si axes est un entier, renvoie un nouveau tableau avec des dimensions permutées le long de cet axe ; si axes est une séquence d'entiers, renvoie un nouveau tableau dans l'ordre spécifié.

  1. Fonction swapaxes() La fonction
    swapaxes() est utilisée pour échanger les deux axes du tableau. Son prototype de fonction est :

numpy.swapaxes(arr, axis1, axis2)

où arr est le tableau d'axes. à échanger, axis1 et axis2 sont les axes à échanger. La fonction swapaxes() renvoie un nouveau tableau dont les axes sont une copie des axes du tableau d'origine, mais axis1 et axis2 sont permutés.

2. Exemples d'échange de dimensions dans numpy

Ci-dessous, nous utilisons quelques exemples spécifiques pour démontrer les techniques d'échange de dimensions dans numpy.

Exemple 1 : échange de dimensions à l'aide de la fonction transpose()
Supposons que nous ayons un tableau de formes tridimensionnel (3, 4, 2) et que nous souhaitions échanger ses première et deuxième dimensions. Le code est le suivant :

import numpy as np

arr = np.arange(24).reshape(3, 4, 2)
print("Original array: ")
print(arr)

new_arr = np .transpose( arr, (1, 0, 2))
print("Exchanged array:")
print(new_arr)

Les résultats d'exécution sont les suivants :

Tableau original :
[[[ 0 1]
[ 2 3]
[ 4 5]
[ 6 7]]

[[ 8 9]
[10 11]
[12 13]
[14 15]]

[[16 17]
[18 19]
[20 21]
[22 23]]]

Le tableau échangé :
[[[ 0 1]
[ 8 9]
[16 17]]

[[ 2 3]
[10 11]
[18 19]]

[[ 4 5]
[12 13]
[20 21]]

[[ 6 7]
[14 15]
[22 23]]]

Exemple 2 : Utiliser la fonction swapaxes() pour l'échange de dimensions
Supposons que nous ayons un tableau de formes tridimensionnel (2, 5, 3) et que nous souhaitions échanger ses première et deuxième dimensions. Le code est le suivant :

import numpy as np

arr = np.arange(30).reshape(2, 5, 3)
print("Original array: ")
print(arr)

new_arr = np .swapaxes( arr, 0, 1)
print("Array after change: ")
print(new_arr)

Les résultats en cours d'exécution sont les suivants :

Tableau original :
[[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]
[9 10 11]
[12 13 14]]

[[15 16 17]
[18 19 20]
[21 22 23]
[24 25 26]
[27 28 29]]]

Le tableau échangé :
[[[ 0 1 2]
[15 16 17]]

[[ 3 4 5]
[18 19 20]]

[[ 6 7 8]
[21 22 23 ]]

[[ 9 10 11]
[24 25 26]]

[[12 13 14]
[27 28 29]]]

Nous avons démontré la technique d'échange de dimensions dans numpy à travers le ci-dessus deux exemples. Utilisez la fonction transpose() et la fonction swapaxes() pour échanger facilement les dimensions des tableaux afin de répondre aux besoins de différents problèmes. Différentes opérations d'échange de dimensions peuvent être mises en œuvre en ajustant les paramètres, ce qui nous permet de traiter les données de tableaux multidimensionnels de manière plus flexible.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn