Pandas & NumPy Academy · Lezione

Creazione di array NumPy

Crei array 1D e 2D con np.array, np.zeros, np.ones e np.arange, quindi ne analizzi shape e dtype.

Lezione 1 di 413 passaggi

Creazione di array NumPy è una lezione Pandas & NumPy Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Pandas & NumPy Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Pandas & NumPy Academy include 4 lezioni in totale.

Che cos'è un array NumPy?

NumPy è la libreria di riferimento di Python per i calcoli numerici. Il suo elemento centrale è ndarray: una griglia di valori dello stesso tipo, molto più veloce e compatta di una lista.

import numpy as np

# NumPy arrays are fast, typed, and memory-efficient
print(np.__version__)

Creare array da liste

Il modo più semplice per creare un array è passare una lista a np.array(). NumPy sceglie automaticamente il dtype e una lista di liste diventa una matrice 2D.

import numpy as np

a = np.array([1, 2, 3, 4, 5])
print(a)          # [1 2 3 4 5]
print(a.dtype)    # int64

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

np.zeros e np.ones

Serve una base vuota? np.zeros riempie un array con 0.0, mentre np.ones lo riempie con 1.0: sono perfetti per preparare un array prima di calcolarne i valori effettivi.

import numpy as np

z = np.zeros(5)
print(z)          # [0. 0. 0. 0. 0.]

o = np.ones((3, 4))
print(o.shape)    # (3, 4)
print(o.dtype)    # float64

np.arange per le sequenze di interi

np.arange funziona come range di Python, ma restituisce un array. Specifichi un valore iniziale, uno finale e un passo: il valore finale non è incluso.

import numpy as np

a = np.arange(0, 10, 2)
print(a)   # [0 2 4 6 8]

b = np.arange(1.0, 2.0, 0.25)
print(b)   # [1.   1.25 1.5  1.75]

np.linspace per i float equidistanti

Le servono float equidistanti? np.linspace restituisce un numero prestabilito di valori tra due estremi, entrambi inclusi, senza errori cumulativi di arrotondamento.

import numpy as np

x = np.linspace(0, 1, 5)
print(x)   # [0.   0.25 0.5  0.75 1.  ]

y = np.linspace(0, 360, 7)
print(y)   # [  0.  60. 120. 180. 240. 300. 360.]

np.full e np.eye

Usi np.full per riempire un array con una costante qualsiasi e np.eye per creare una matrice identità: uno sulla diagonale e zeri in tutte le altre posizioni.

import numpy as np

f = np.full((2, 3), 7)
print(f)
# [[7 7 7]
#  [7 7 7]]

I = np.eye(3)
print(I)
# [[1. 0. 0.]
#  [0. 1. 0.]
#  [0. 0. 1.]]

Specificare dtype durante la creazione

Ogni array ha un unico dtype per tutti i suoi valori. Lo imposti con dtype=: scegliere float32 invece di float64, per esempio, può dimezzare la memoria utilizzata.

import numpy as np

a = np.array([1, 2, 3], dtype=np.float32)
print(a.dtype)     # float32
print(a.nbytes)    # 12  (3 elements x 4 bytes)

b = np.zeros(4, dtype=np.int32)
print(b.dtype)     # int32

Array casuali con np.random

Servono dati casuali? np.random li genera per Lei. Imposti prima un seed per ottenere gli stessi numeri a ogni esecuzione: è fondamentale per esperimenti riproducibili. 🎲

import numpy as np

np.random.seed(42)
u = np.random.rand(3, 3)   # uniform [0, 1)
print(u)

n = np.random.randn(5)     # standard normal
print(n.round(2))

Controllare forma e dimensioni di un array

Dopo aver creato un array, di solito ne controlla la shape, una tupla con la dimensione di ogni asse. Usi .ndim per vedere quante dimensioni ha.

import numpy as np

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

m = a.reshape(3, 4)
print(m.shape)   # (3, 4)
print(m.ndim)    # 2

Convertire liste e tuple

np.array() accetta più delle sole liste: funzionano anche tuple, intervalli e persino altri array. Eviti però le liste interne ragged, che riducono la velocità di NumPy.

import numpy as np

# From tuple
t = np.array((10, 20, 30))
print(t)   # [10 20 30]

# From range
r = np.array(range(5))
print(r)   # [0 1 2 3 4]

# Nested lists -> 2D
m = np.array([[1, 2], [3, 4], [5, 6]])
print(m.shape)  # (3, 2)

np.empty per array non inizializzati

np.empty riserva memoria senza riempirla, quindi è leggermente più veloce di zeros. Lo svantaggio è che contiene dati residui: scriva sempre prima di leggere.

import numpy as np

buf = np.empty(5)
# Values are garbage — do NOT read before writing
for i in range(5):
    buf[i] = i * 2
print(buf)  # [0. 2. 4. 6. 8.]

Verifica rapida

Verifichi la Sua comprensione della creazione di array NumPy trattata in questa lezione.

Riepilogo della lezione

Ottimo lavoro! Ora sa trasformare le liste in array con np.array() e crearli da zero con zeros, ones, arange e linspace. Prossimo argomento: gli attributi degli array.

Gratis per iniziare

Impara Python con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
30
Lezioni
120

Domande Frequenti

La lezione «Creazione di array NumPy» è gratuita?

Sì — il testo completo di «Creazione di array NumPy» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Pandas & NumPy Academy, passa a CoddyKit PRO. Il corso Pandas & NumPy Academy include 4 lezioni in totale.

Cosa imparerò in «Creazione di array NumPy»?

Crei array 1D e 2D con np.array, np.zeros, np.ones e np.arange, quindi ne analizzi shape e dtype. Eserciti Pandas & NumPy Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Pandas & NumPy Academy?

Non è richiesta alcuna esperienza precedente. Pandas & NumPy Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Creazione di array NumPy»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Pandas & NumPy Academy?

Sì. Ogni lezione Pandas & NumPy Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Creazione di array NumPy
  2. Attributi e ispezione degli array
  3. Aritmetica elemento per elemento
  4. Slicing e indicizzazione degli array
← Torna a Pandas & NumPy Academy