Un'array NumPy (ndarray) è una griglia di valori contenente dati dello stesso tipo, immagazzinati in settori contigui della memoria.
- Gli array NumPy permettono operazioni semplificate e più veloci, utilizzando meno memoria rispetto alle Liste Python.
- Gli array possono essere monodimensionali (vettori), bidimensionali (matrici), tridimensionali e oltre (tensori).
_image_1.png)
Attributi di un’array NumPy
Un’array ha diversi attributi:
ndim(intero): il numero di dimensioni dell’array (1 per un vettore, 2 per una matrice..)shape(tupla di ndim interi): le dimensioni dell’arraysize(intero): il numero totale di elementi dell’arraydtype(oggetto dtype): un oggetto che indica il tipo di dato degli elementi dell’array.itemsize(intero): le dimensioni in byte di ciascun elementodata(oggetto memoryview): un riferimento alla porzione di memoria che contiene i dati
Come definire il tipo di dato dell'array
Per definire il tipo di dati dell’array si utilizza il parametro
dtype.np.array([1.,2.,3], dtype=float)
dtypericonosce ad esempio:int,floatuint(numeri interi positivi),complex..
Codice esempio
>>>a = np.array([ [1,2,3] , [4,5,6] ]) # matrice 2x3
>>>print('a.ndim ({0}) = {1}'.format(type(a.ndim),a.ndim))
>>>print('a.shape ({0}) = {1}'.format(type(a.shape),a.shape))
>>>print('a.size ({0}) = {1}'.format(type(a.size),a.size))
>>>print('a.dtype ({0}) = {1}'.format(type(a.dtype),a.dtype))
>>>print('a.itemsize ({0}) = {1}'.format(type(a.itemsize),a.itemsize))
>>>print('a.data ({0}) = {1}'.format(type(a.data),a.data))
a.ndim (<class 'int'>) = 2
a.shape (<class 'tuple'>) = (2, 3)
a.size (<class 'int'>) = 6
a.dtype (<class 'numpy.dtype'>) = int32
a.itemsize (<class 'int'>) = 4
a.data (<class 'memoryview'>) = <memory at 0x02D69300>Array creation routines (NumPy)
NumPy permette di creare diversi tipi di array velocemente a seconda delle proprie esigenze. Ci sono almeno quattro possibili strategie per creare un array in NumPy:
- Conversione di altre strutture dati Python compatibili (liste, tuple..).
- Funzioni specifiche NumPy(
arange,ones,zeros, ecc..) - Lettura array dal disco (da formati standard e non)
- Creazione di array di byte non elaborati attraverso stringhe o buffer
Indexing e slicing su NumPy array
Le operazioni di indexing e slicing permettono di selezionare o estrarre solo una parte degli elementi di un array NumPy.