np.linspace() în NumPy

Crearea tablourilor NumPy 1.0+

Creează un număr fix de valori egal distanțate între start și stop, inclusiv capetele.

Sintaxă
np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)

Ce face np.linspace()

np.linspace() împarte intervalul dintre start și stop în num puncte egal distanțate. Tu alegi câte puncte vrei, iar NumPy calculează pasul.

Implicit ambele capete sunt incluse. Cu endpoint=False, stop este exclus și pasul se calculează ca și cum ar mai urma un punct. Cu retstep=True primești și pasul calculat.

Rezultatul este întotdeauna de tip float64 dacă nu ceri alt dtype, chiar dacă start și stop sunt întregi.

Parametri

Parametru Descriere
start Prima valoare.
stop Ultima valoare (inclusă, dacă endpoint=True).
num Câte valori să genereze. Implicit 50.
endpoint Implicit True: stop este inclus. Cu False nu este inclus.
retstep Dacă este True, returnează tuplul (tablou, pas).
dtype Tipul elementelor rezultatului.

Ce returnează

Un tablou cu num valori sau, cu retstep=True, un tuplu (tablou, pas).

Exemple

Exemplul 1: Cinci puncte între 0 și 100

import numpy as np

procente = np.linspace(0, 100, 5)
print(procente)
print(len(procente), procente.dtype)

Rezultat

[  0.  25.  50.  75. 100.]
5 float64

Exemplul 2: endpoint=False și retstep=True

Fără capătul din dreapta, intervalul 0-24 de ore se împarte în 4 tranșe de câte 6 ore.

import numpy as np

ore = np.linspace(0, 24, 4, endpoint=False)
print(ore)

puncte, pas = np.linspace(0, 1, 5, retstep=True)
print(puncte)
print("Pas:", pas)

Rezultat

[ 0.  6. 12. 18.]
[0.   0.25 0.5  0.75 1.  ]
Pas: 0.25

Greșeli frecvente

  • Confunzi al treilea argument cu pasul, ca la arange. La linspace al treilea argument este numărul de puncte: np.linspace(0, 10, 2) dă [0. 10.].
  • Uiți că implicit se generează 50 de valori: np.linspace(0, 1) are 50 de elemente.
  • Aștepți numere întregi: rezultatul este float64. Cere dtype=int doar dacă valorile ies exact întregi, altfel sunt trunchiate.

Comenzi înrudite

  • np.arange(): Creează un tablou cu valori din pas în pas, de la start până la stop (stop nu este inclus), ca range() din Python.
  • np.array(): Creează un tablou NumPy (ndarray) dintr-o listă, o listă de liste sau alt obiect asemănător.
  • ndarray.dtype: Arată tipul elementelor dintr-un tablou (int64, float64, bool etc.) și câți octeți ocupă fiecare.