Python >> Tutoriel Python >  >> Python Tag >> NumPy

La dimension d'un tableau numpy

Numpy est une bibliothèque Python populaire pour la science des données axée sur les tableaux, les vecteurs et les matrices. Si vous travaillez avec des données, vous ne pouvez tout simplement pas éviter NumPy.

Défi :Comment obtenir le nombre de dimensions d'un tableau NumPy ?

Solution :Utilisez l'attribut array.ndim pour accéder au nombre de dimensions d'un tableau NumPy. Notez qu'il s'agit d'un attribut, pas d'une fonction.

Le tableau unidimensionnel a une dimension :

import numpy as np

a = np.array([1, 2, 3])
print(a.ndim)
# 1

Le tableau à deux dimensions a deux dimensions :

import numpy as np

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

Et le tableau tridimensionnel a trois dimensions :

import numpy as np

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

Contexte  :Avant de continuer, vous pouvez demander :Quelle est la définition des dimensions dans un tableau ?

Numpy ne stocke pas simplement un tas de valeurs de données de manière lâche (vous pouvez utiliser des listes pour cela). Au lieu de cela, NumPy impose un ordre strict aux données - il crée des axes de taille fixe.

Ne confondez pas un axe avec une dimension. Un point dans l'espace 3D, par ex. [1, 2, 3] a trois dimensions mais un seul axe. Vous pouvez considérer un axe comme la profondeur de vos données imbriquées. Si vous voulez connaître le nombre d'axes dans NumPy, comptez le nombre de parenthèses ouvrantes '[' jusqu'à ce que vous atteigniez la première valeur numérique.

Article connexe : Forme numérique

Dimensionnalité du puzzle NumPy

Pouvez-vous résoudre le puzzle NumPy suivant qui teste ce que vous avez appris jusqu'à présent ?

import numpy as np

# salary in ($1000) [2015, 2016, 2017]
dataScientist = [133, 132, 137]
productManager = [127, 140, 145]
designer = [118, 118, 127]
softwareEngineer = [129, 131, 137]

a = np.array([dataScientist,
              productManager,
              designer,
              softwareEngineer])
print(a.ndim)

Exercice :Quel est le résultat de ce puzzle ?

Vous pouvez le résoudre dans notre application de puzzle interactive Finxter.com :

Dans ce casse-tête, nous utilisons des données sur le salaire de quatre emplois :scientifiques des données, chefs de produit, concepteurs et ingénieurs en logiciel. Nous créons quatre listes qui stockent le salaire moyen annuel des quatre emplois en milliers de dollars pour les trois années 2015, 2016 et 2017.

Ensuite, nous fusionnons ces quatre listes dans un tableau à deux dimensions (noté matrice). Vous pouvez considérer une matrice à deux dimensions comme une liste de listes. Une matrice tridimensionnelle serait une liste de listes de listes. Vous voyez l'idée.

Dans le puzzle, chaque liste de salaire d'un seul emploi devient une ligne d'une matrice à deux dimensions. Chaque ligne comporte trois colonnes, une pour chaque année. Le puzzle imprime la dimension de cette matrice. Comme notre matrice est bidimensionnelle, la solution de ce puzzle est 2.

Vidéo NumPy associée

Voulez-vous devenir un maître NumPy ? Découvrez notre livre de puzzle interactif Coffee Break NumPy et boostez vos compétences en data science ! (Le lien Amazon s'ouvre dans un nouvel onglet.)