0Pricing
Pandas & NumPy Academy · Leçon

Attributs et inspection des tableaux

Explorez les attributs ndim, shape, size et dtype, puis apprenez à remodeler un tableau avec reshape().

Attributs et inspection des tableaux est une leçon Pandas & NumPy Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Pandas & NumPy Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Pandas & NumPy Academy comprend 4 leçons au total.

Pourquoi les attributs des tableaux sont importants

Avant de travailler sur un tableau, vous voudrez connaître sa shape, ses dimensions et son dtype. NumPy vous les fournit instantanément grâce à des attributs légers.

import numpy as np

a = np.array([[1, 2, 3], [4, 5, 6]])
print('ndim:', a.ndim)    # 2
print('shape:', a.shape)  # (2, 3)
print('size:', a.size)    # 6
print('dtype:', a.dtype)  # int64

ndim : nombre de dimensions

ndim indique le nombre de dimensions d’un tableau : une liste plate en a 1, une liste de listes en a 2, et les tenseurs d’apprentissage automatique en ont souvent 3 ou 4.

import numpy as np

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

m = np.zeros((4, 5))
print(m.ndim)   # 2

t = np.ones((2, 3, 4))
print(t.ndim)   # 3

shape : le tuple des dimensions

shape est un tuple contenant une taille par dimension. Pour un tableau à deux dimensions, il s’agit de (lignes, colonnes) — et vous pouvez le décomposer pour écrire du code flexible.

import numpy as np

a = np.arange(24).reshape(2, 3, 4)
print(a.shape)       # (2, 3, 4)

n_rows, n_cols = np.zeros((5, 7)).shape
print(n_rows, n_cols)  # 5 7

size : nombre total d’éléments

size donne le nombre total d’éléments — toutes les valeurs de shape multipliées entre elles. C’est pratique pour vérifier qu’un reshape n’a rien perdu.

import numpy as np

a = np.ones((3, 4, 5))
print(a.size)          # 60  (3*4*5)
print(np.prod(a.shape))# 60

# Memory estimate in bytes
print(a.size * a.itemsize, 'bytes')  # 480 bytes

dtype : type des éléments

Le dtype décrit le type de chaque élément, et itemsize indique sa taille en octets. Remplacer float64 par float32 divise la mémoire par deux et accélère souvent l’exécution.

import numpy as np

a = np.array([1.5, 2.5, 3.5])
print(a.dtype)      # float64
print(a.itemsize)   # 8 bytes

b = a.astype(np.float32)
print(b.dtype)      # float32
print(b.itemsize)   # 4 bytes

nbytes : mémoire totale utilisée

nbytes correspond à la mémoire totale du tableau, en octets — simplement size multiplié par itemsize. Vérifiez cette valeur avant et après une conversion vers un type moins précis pour confirmer l’espace réellement économisé.

import numpy as np

a = np.ones((1000, 1000), dtype=np.float64)
print(a.nbytes)  # 8000000 (8 MB)

b = a.astype(np.float32)
print(b.nbytes)  # 4000000 (4 MB)

reshape() : modifier la forme d’un tableau

reshape donne une nouvelle forme au tableau sans copier les données, tant que le nombre d’éléments reste le même. Indiquez -1 et NumPy déterminera cette dimension pour vous.

import numpy as np

a = np.arange(12)
print(a.shape)          # (12,)

b = a.reshape(3, 4)
print(b.shape)          # (3, 4)

c = a.reshape(2, -1)    # -1 inferred as 6
print(c.shape)          # (2, 6)

Aplatir avec ravel() et flatten()

ravel() et flatten() réduisent tous deux un tableau à une dimension. La différence : ravel partage généralement la mémoire (sans copie), tandis que flatten crée toujours une nouvelle copie.

import numpy as np

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

r = m.ravel()     # view (usually)
f = m.flatten()   # always a copy

print(r)  # [1 2 3 4 5 6]
print(f)  # [1 2 3 4 5 6]

Transposer des tableaux

L’attribut .T vous donne la transposée — les lignes et les colonnes sont permutées. Cette opération est gratuite (aucune donnée n’est copiée) et essentielle pour aligner les matrices.

import numpy as np

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

strides : organisation en mémoire

strides indiquent le nombre d’octets parcourus par NumPy en mémoire pour chaque dimension. C’est pourquoi la transposition est gratuite : elle échange simplement les valeurs de stride.

import numpy as np

a = np.ones((3, 4), dtype=np.float64)
print(a.strides)    # (32, 8)  — 4 cols x 8 bytes, 1 col x 8 bytes

b = a.T
print(b.strides)    # (8, 32)  — strides swapped, no data copy

Vérifier les vues et les copies

Une vue partage la mémoire avec l’original : modifier l’une modifie donc les deux ; une copie est indépendante. Utilisez np.shares_memory(a, b) pour vérifier ce que vous avez.

import numpy as np

a = np.arange(6)
b = a.reshape(2, 3)  # view
print(np.shares_memory(a, b))  # True

c = a.copy()
print(np.shares_memory(a, c))  # False

Vérification rapide

Vérifiez votre compréhension des attributs des tableaux NumPy dans cette leçon.

Récapitulatif de la leçon

Votre progression est excellente ! ndim, shape et size décrivent la structure, dtype décrit les données, et reshape renvoie une vue tandis que flatten effectue toujours une copie. Ensuite : les calculs sur les tableaux.

Questions Fréquemment Posées

La leçon « Attributs et inspection des tableaux » est-elle gratuite ?

Oui — le texte complet de « Attributs et inspection des tableaux » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Pandas & NumPy Academy, passe à CoddyKit PRO. Le cours Pandas & NumPy Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Attributs et inspection des tableaux » ?

Explorez les attributs ndim, shape, size et dtype, puis apprenez à remodeler un tableau avec reshape(). Tu pratiques Pandas & NumPy Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Pandas & NumPy Academy ?

Aucune expérience préalable n'est requise. Pandas & NumPy Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « Attributs et inspection des tableaux » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Pandas & NumPy Academy ?

Oui. Chaque leçon Pandas & NumPy Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Créer des tableaux NumPy
  2. Attributs et inspection des tableaux
  3. Arithmétique élément par élément
  4. Découpage et indexation des tableaux
← Retour à Pandas & NumPy Academy