Ce face np.arange()
np.arange() funcționează ca range() din Python, dar returnează direct un tablou NumPy. Cu un singur argument numără de la 0; cu două primește începutul și sfârșitul; al treilea este pasul.
Valoarea stop nu este inclusă: np.arange(1, 5) dă [1 2 3 4]. Spre deosebire de range(), arange acceptă și pași zecimali.
Cu pași zecimali (de exemplu 0.1), numărul de elemente poate ieși diferit de cel așteptat, din cauza rotunjirilor din calculul cu virgulă mobilă. Pentru un număr exact de puncte între două valori folosește np.linspace().
Parametri
| Parametru | Descriere |
|---|---|
start |
Opțional. Prima valoare. Implicit 0. |
stop |
Valoarea la care se oprește. Nu este inclusă în rezultat. |
step |
Opțional. Distanța dintre două valori. Implicit 1. Poate fi negativă. |
dtype |
Tipul elementelor. Implicit este dedus din argumente. |
Ce returnează
Un tablou 1D cu valorile din interval.
Exemple
Exemplul 1: Unu, două sau trei argumente
import numpy as np
print(np.arange(5))
print(np.arange(1, 13))
print(np.arange(0, 101, 25))
print(np.arange(10, 0, -3))
Rezultat
[0 1 2 3 4]
[ 1 2 3 4 5 6 7 8 9 10 11 12]
[ 0 25 50 75 100]
[10 7 4 1]
Exemplul 2: Pas zecimal
Prețurile de la 1 la 2 lei din 0.25 în 0.25. Valoarea 2.0 nu apare, pentru că stop este exclus.
import numpy as np
preturi = np.arange(1, 2, 0.25)
print(preturi)
print("Elemente:", len(preturi))
Rezultat
[1. 1.25 1.5 1.75]
Elemente: 4
Exemplul 3: Problema pasului zecimal
Teoretic ar trebui să obții 1.0, 1.1 și 1.2, dar din cauza rotunjirii apare și 1.3. Cu linspace numărul de puncte este cel cerut.
import numpy as np
a = np.arange(1, 1.3, 0.1)
print(a, "->", len(a), "elemente")
b = np.linspace(1, 1.2, 3)
print(b, "->", len(b), "elemente")
Rezultat
[1. 1.1 1.2 1.3] -> 4 elemente
[1. 1.1 1.2] -> 3 elemente
Greșeli frecvente
- Crezi că
stopeste inclus:np.arange(1, 10)se oprește la 9. - Folosești pași zecimali și te bazezi pe numărul de elemente. Rotunjirile pot adăuga sau scoate un element; folosește
np.linspace(). - Pui un pas pozitiv când
starteste mai mare decâtstop:np.arange(10, 0)dă un tablou gol. Pentru numărătoare inversă pasul trebuie să fie negativ.
Comenzi înrudite
np.linspace(): Creează un număr fix de valori egal distanțate între start și stop, inclusiv capetele.np.array(): Creează un tablou NumPy (ndarray) dintr-o listă, o listă de liste sau alt obiect asemănător.ndarray.reshape(): Schimbă forma unui tablou (de exemplu din 12 elemente în 3 x 4) fără să-i schimbe datele.