Array NumPy e dtype
Crei ndarray, comprenda i dtype ed esplori le proprietà degli array.
Array NumPy e dtype è una lezione Python 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 Python Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Python Academy include 4 lezioni in totale.
Che cos'è NumPy?
NumPy fornisce ndarray: un array a tipo fisso e memoria contigua che supporta operazioni vettorializzate di diversi ordini di grandezza più veloci rispetto alle liste Python.
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr) # [1 2 3 4 5]
print(arr * 2) # [ 2 4 6 8 10] (no Python loop)Creazione di array
Funzioni di creazione comuni: np.array(), np.zeros(), np.ones(), np.arange(), np.linspace().
import numpy as np
print(np.zeros((2, 3))) # 2x3 array of 0.0
print(np.ones(5)) # [1. 1. 1. 1. 1.]
print(np.arange(0, 10, 2)) # [0 2 4 6 8]
print(np.linspace(0, 1, 5)) # [0. 0.25 0.5 0.75 1. ]dtypes
Ogni array NumPy ha un unico dtype. dtypes comuni: int32, int64, float32, float64, bool, complex128.
import numpy as np
a = np.array([1, 2, 3]) # int64 by default
b = np.array([1.0, 2.0]) # float64
c = np.array([1, 2], dtype=np.float32)
print(a.dtype) # int64
print(c.dtype) # float32Forma dell'array e ndim
shape è una tupla delle dimensioni. ndim è il numero di dimensioni. size è il numero totale di elementi.
import numpy as np
m = np.ones((3, 4))
print(m.shape) # (3, 4)
print(m.ndim) # 2
print(m.size) # 12
print(m.dtype) # float64Rimodellamento
reshape() restituisce una vista con una nuova forma (gli stessi dati). flatten() restituisce una copia come array 1-D.
import numpy as np
arr = np.arange(12)
mat = arr.reshape(3, 4)
print(mat)
# [[ 0 1 2 3]
# [ 4 5 6 7]
# [ 8 9 10 11]]
print(mat.flatten()) # [ 0 1 2 3 ...]Conversione del tipo
Utilizzi arr.astype(dtype) per convertire un array in un tipo diverso. Restituisce sempre una copia.
import numpy as np
arr = np.array([1, 2, 3])
float_arr = arr.astype(np.float64)
print(float_arr) # [1. 2. 3.]
print(float_arr.dtype) # float64Array casuali
Generi array casuali con np.random: distribuzioni uniforme e normale, oppure interi.
import numpy as np
rng = np.random.default_rng(seed=42) # reproducible
print(rng.random(5)) # 5 uniform [0,1)
print(rng.standard_normal(3)) # 3 normal(0,1)
print(rng.integers(1, 10, 4)) # 4 ints [1,10)Ispezione della memoria dell'array
itemsize indica i byte per elemento; nbytes indica il numero totale di byte.
import numpy as np
arr = np.zeros(1_000_000, dtype=np.float64)
print(arr.itemsize) # 8
print(arr.nbytes) # 8_000_000 (8 MB)
small = arr.astype(np.float32)
print(small.nbytes) # 4_000_000 (4 MB)np.empty e np.full
np.empty alloca senza inizializzare (in modo rapido). np.full riempie l'array con un valore costante.
import numpy as np
e = np.empty((2,3)) # uninitialised — random garbage values
f = np.full((2,3), fill_value=7)
print(f)
# [[7 7 7]
# [7 7 7]]Copia e vista
Lo slicing di un array NumPy restituisce una vista (senza creare una copia). Modificando la vista si modifica l'originale. Utilizzi .copy() per ottenere un array indipendente.
import numpy as np
arr = np.array([1, 2, 3, 4])
view = arr[1:3]
view[0] = 99
print(arr) # [ 1 99 3 4] — original changed!
copy = arr[1:3].copy()
copy[0] = 0
print(arr) # unchangedArray strutturati
Gli array strutturati memorizzano dati eterogenei (come una struct C) in un unico ndarray con campi denominati.
import numpy as np
dt = np.dtype([('name', 'U10'), ('age', np.int32), ('score', np.float64)])
people = np.array([
('Alice', 30, 95.5),
('Bob', 25, 87.3),
], dtype=dt)
print(people['name']) # ['Alice' 'Bob']Verifica rapida
Che cosa restituisce arr.reshape(3, 4)?
Riepilogo
L'ndarray di NumPy è un array a tipo fisso e memoria contigua. Attributi principali: shape, dtype, ndim, nbytes. Lo slicing restituisce viste; utilizzi .copy() per ottenere l'indipendenza. Scelga il dtype più piccolo che sia sufficiente per risparmiare memoria.
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
- 76
- Lezioni
- 320
Domande Frequenti
La lezione «Array NumPy e dtype» è gratuita?
Sì — il testo completo di «Array NumPy e dtype» è 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 Python Academy, passa a CoddyKit PRO. Il corso Python Academy include 4 lezioni in totale.
Cosa imparerò in «Array NumPy e dtype»?
Crei ndarray, comprenda i dtype ed esplori le proprietà degli array. Eserciti Python 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 Python Academy?
Non è richiesta alcuna esperienza precedente. Python 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 «Array NumPy e dtype»?
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 Python Academy?
Sì. Ogni lezione Python 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
- Array NumPy e dtype
- Operazioni sugli array e broadcasting
- Indicizzazione, slicing e indicizzazione avanzata
- Algebra lineare con NumPy