np.full() în NumPy

Crearea tablourilor NumPy 1.8+

Creează un tablou de forma dorită, umplut peste tot cu aceeași valoare.

Sintaxă
np.full(shape, fill_value, dtype=None, order='C')
np.full_like(a, fill_value, dtype=None, shape=None)

Ce face np.full()

np.full() este varianta generală a lui np.zeros() și np.ones(): alegi tu valoarea cu care se umple tabloul, de exemplu 5, -1 sau np.nan.

Tipul rezultatului este dedus din fill_value: np.full(3, 7) dă întregi, np.full(3, 7.5) dă zecimale. np.full_like(a, valoare) ia forma și tipul de la tabloul a.

Parametri

Parametru Descriere
shape Forma: un întreg sau un tuplu.
fill_value Valoarea cu care se umple tabloul.
dtype Tipul elementelor. Implicit, tipul lui fill_value (la full_like, tipul lui a).
a La full_like: tabloul de la care se iau forma și tipul.

Ce returnează

Un tablou nou, cu toate elementele egale cu fill_value.

Exemple

Exemplul 1: Valoare de pornire pentru toți

Fiecare dintre cei 4 elevi pornește cu nota 5, iar o grilă de 2 x 3 este marcată cu -1 (necompletat).

import numpy as np

note = np.full(4, 5)
print(note, note.dtype)

grila = np.full((2, 3), -1)
print(grila)

medii = np.full(3, np.nan)
print(medii)

Rezultat

[5 5 5 5] int64
[[-1 -1 -1]
 [-1 -1 -1]]
[nan nan nan]

Exemplul 2: full_like păstrează tipul

Tabloul de pornire are întregi, deci valoarea 9.99 este trunchiată la 9. Cu dtype=float rămâne 9.99.

import numpy as np

cantitati = np.array([3, 1, 4])
print(np.full_like(cantitati, 9.99))
print(np.full_like(cantitati, 9.99, dtype=float))

Rezultat

[9 9 9]
[9.99 9.99 9.99]

Greșeli frecvente

  • Uiți al doilea argument: np.full((2, 3)) dă TypeError, pentru că fill_value este obligatoriu.
  • Pui np.nan cu full_like într-un tablou de întregi. Întregii nu pot ține NaN; dă dtype=float.

Comenzi înrudite

  • np.zeros() și np.ones(): Creează tablouri umplute cu 0 sau cu 1 (sau neinițializate cu np.empty), de forma dorită sau de forma altui tablou.
  • np.eye() și np.identity(): Creează o matrice cu 1 pe diagonală și 0 în rest (matricea identitate).
  • ndarray.dtype: Arată tipul elementelor dintr-un tablou (int64, float64, bool etc.) și câți octeți ocupă fiecare.