Ce face ndarray.shape
a.shape este un tuplu cu lungimea pe fiecare dimensiune. Un tablou cu 2 rânduri și 3 coloane are shape egal cu (2, 3); un tablou 1D cu 4 elemente are (4,).
a.ndim este numărul de dimensiuni (lungimea tuplului shape), iar a.size numărul total de elemente (produsul valorilor din shape). len(a) dă doar lungimea primei dimensiuni, adică numărul de rânduri.
Acestea sunt atribute, nu metode: se scriu fără paranteze.
Ce returnează
shape: tuplu de întregi; ndim, size, len(a): întregi.
Exemple
Exemplul 1: Tablou 1D și tablou 2D
import numpy as np
note = np.array([9, 7, 10, 8])
vanzari = np.array([[120, 95, 130],
[80, 110, 105]])
for nume, t in [("note", note), ("vanzari", vanzari)]:
print(nume, "shape:", t.shape, "ndim:", t.ndim, "size:", t.size, "len:", len(t))
Rezultat
note shape: (4,) ndim: 1 size: 4 len: 4
vanzari shape: (2, 3) ndim: 2 size: 6 len: 2
Exemplul 2: Folosirea formei în cod
Tuplul shape se poate despacheta în două variabile.
import numpy as np
vanzari = np.array([[120, 95, 130],
[80, 110, 105]])
randuri, coloane = vanzari.shape
print(f"{randuri} magazine, {coloane} luni")
Rezultat
2 magazine, 3 luni
Greșeli frecvente
- Scrii
a.shape()cu paranteze: primeștiTypeError: 'tuple' object is not callable. - Folosești
len(a)pentru numărul de elemente al unui tablou 2D.lendă doar numărul de rânduri; totalul estea.size. - Confunzi
(4,)cu(4, 1). Primul este un tablou 1D, al doilea o coloană 2D; broadcasting-ul le tratează diferit.
Comenzi înrudite
ndarray.reshape(): Schimbă forma unui tablou (de exemplu din 12 elemente în 3 x 4) fără să-i schimbe datele.ndarray.dtype: Arată tipul elementelor dintr-un tablou (int64, float64, bool etc.) și câți octeți ocupă fiecare.np.array(): Creează un tablou NumPy (ndarray) dintr-o listă, o listă de liste sau alt obiect asemănător.Broadcasting: Regulile prin care NumPy face operații între tablouri de forme diferite, de exemplu o matrice și un rând sau un scalar.