Manipulation de la forme de NumPy

NumPyNumPyBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous allez apprendre les fonctions de manipulation de la forme de NumPy qui vous permettent de manipuler la forme des tableaux NumPy.

Objectifs

  • Redimensionner des tableaux
  • Concaténer et diviser des tableaux
  • Transposer des tableaux

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL numpy(("NumPy")) -.-> numpy/ArrayBasicsGroup(["Array Basics"]) numpy(("NumPy")) -.-> numpy/ArrayManipulationGroup(["Array Manipulation"]) numpy/ArrayBasicsGroup -.-> numpy/multi_array("Multi-dimensional Array Creation") numpy/ArrayBasicsGroup -.-> numpy/shape_dim("Shapes and Dimensions") numpy/ArrayManipulationGroup -.-> numpy/reshape("Reshape") numpy/ArrayManipulationGroup -.-> numpy/transpose("Transpose and Axis Swap") numpy/ArrayManipulationGroup -.-> numpy/merge("Merge") numpy/ArrayManipulationGroup -.-> numpy/split("Split") subgraph Lab Skills numpy/multi_array -.-> lab-214{{"Manipulation de la forme de NumPy"}} numpy/shape_dim -.-> lab-214{{"Manipulation de la forme de NumPy"}} numpy/reshape -.-> lab-214{{"Manipulation de la forme de NumPy"}} numpy/transpose -.-> lab-214{{"Manipulation de la forme de NumPy"}} numpy/merge -.-> lab-214{{"Manipulation de la forme de NumPy"}} numpy/split -.-> lab-214{{"Manipulation de la forme de NumPy"}} end

Redimensionner des tableaux

La fonction reshape vous permet de modifier la forme d'un tableau NumPy. La syntaxe de la fonction reshape est la suivante :

np.reshape(a, new_shape)
  • a est le tableau d'entrée et new_shape est la nouvelle forme souhaitée du tableau.

Ouvrir l'interpréteur Python

Ouvrez l'interpréteur Python en tapant la commande suivante dans le terminal.

python3

Importer NumPy

NumPy est déjà installé, vous pouvez l'importer dans votre code Python :

import numpy as np

Créer un tableau

Créez un tableau a de forme (2, 3) à titre d'exemple :

a = np.array([[1, 2, 3], [4, 5, 6]])
print(a.shape)

Sortie :

(2, 3)

Utiliser la fonction reshape

Vous pouvez redimensionner ce tableau en une forme de (3, 2) à l'aide de la fonction reshape :

b = np.reshape(a, (3, 2))
print(b.shape)
print(b)

Sortie :

(3, 2)
[[1 2]
 [3 4]
 [5 6]]

Concaténer et diviser des tableaux

NumPy fournit deux fonctions pour concaténer des tableaux :

  1. np.concatenate : pour concaténer des tableaux le long d'un axe donné
  2. np.stack : pour concaténer des tableaux le long d'un nouvel axe

Vous pouvez diviser des tableaux à l'aide de la fonction np.split.

Concaténer des tableaux

Créez deux tableaux a et b à titre d'exemple :

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])

Utiliser concatenate

Vous pouvez concaténer ces tableaux le long du premier axe (0) à l'aide de la fonction np.concatenate :

c = np.concatenate((a, b))
print(c)

Sortie :

[1 2 3 4 5 6]

Utiliser stack

Vous pouvez également concaténer ces tableaux le long d'un nouvel axe à l'aide de la fonction np.stack :

d = np.stack((a, b))
print(d)
print(d.shape)

Sortie :

[[1 2 3]
 [4 5 6]]
(2, 3)

Diviser des tableaux

Créez un tableau a de forme (6,) à titre d'exemple :

a = np.array([1, 2, 3, 4, 5, 6])

Utiliser split

Vous pouvez diviser ce tableau en deux tableaux de longueur 3 à l'aide de la fonction np.split :

b, c = np.split(a, 2)
print(b)
print(c)

Sortie :

[1 2 3]
[4 5 6]

Transposer des tableaux

La fonction transpose vous permet de transposer les axes d'un tableau NumPy. La syntaxe de la fonction transpose est la suivante :

a.transpose([axis1, axis2,...])
  • axis1, axis2, etc. sont les axes à transposer.

Créer un tableau

Créez un tableau a de forme (2, 3) à titre d'exemple :

a = np.array([[1, 2, 3], [4, 5, 6]])
print(a)
print(a.shape)

Sortie :

[[1 2 3]
 [4 5 6]]
(2, 3)

Utiliser la transposition

Vous pouvez transposer ce tableau à l'aide de la fonction transpose :

b = a.transpose()
print(b)
print(b.shape)

Sortie :

[[1 4]
 [2 5]
 [3 6]]
(3, 2)

Vous pouvez également transposer des axes spécifiques du tableau. Par exemple, vous pouvez transposer les axes du tableau a pour obtenir une forme de (3, 2) à l'aide du code suivant :

c = a.transpose(1, 0)
print(c)
print(c.shape)

Sortie :

[[1 4]
 [2 5]
 [3 6]]
(3, 2)

Sommaire

Félicitations ! Vous avez terminé le laboratoire de manipulation de la forme de NumPy.

Dans ce laboratoire, vous avez appris les fonctions de manipulation de la forme de NumPy reshape, concatenate, stack, split et transpose. Ces fonctions vous permettent de manipuler la forme des tableaux NumPy et sont essentielles pour de nombreuses tâches de manipulation de données.