Skip to content

Schema riassuntivo NumPy

NumPy è un’estensione per il calcolo numerico open-source per Python. Questo strumento può essere utilizzato per memorizzare ed elaborare matrici di grandi dimensioni, in modo molto più efficiente rispetto alla struttura di liste nidificate (nested list) nativa di Python (che può comunque essere utilizzata per rappresentare matrici).

Spiegazione

Usa arr per rappresentare un oggetto array NumPy.

Importazione dei moduli

import numpy as np

Importazione/Esportazione

np.loadtxt(‘file.txt’) Leggi da file di testo
np.genfromtxt(‘file.csv’,delimiter=’,’) Leggi da file CSV
np.savetxt(‘file.txt’,arr,delimiter=’ ‘) Scrivi su file di testo
np.savetxt(‘file.csv’,arr,delimiter=’,’) Scrivi su file CSV

Creazione degli array

np.array([1,2,3]) Array unidimensionale
np.array([(1,2,3),(4,5,6)]) Array bidimensionale
np.zeros(3) Array unidimensionale di lunghezza 3 con tutti zeri
np.ones((3,4)) Array 3x4 con tutti uno
np.eye(5) Matrice identità 5x5 (1 sulla diagonale, 0 altrove)
np.linspace(0,100,6) Array di 6 valori da 0 a 100
np.arange(0,10,3) Array di valori da 0 a meno di 10 con passo 3 (es: [0,3,6,9])
np.full((2,3),8) Array 2x3 con tutti i valori impostati a 8
np.random.rand(4,5) Array 4x5 di float casuali tra 0-1
np.random.rand(6,7)*100 Array 6x7 di float casuali tra 0-100
np.random.randint(5,size=(2,3)) Array 2x3 con interi casuali tra 0-4

Ispezione delle proprietà

arr.size Restituisce il numero totale di elementi nell’array
arr.shape Restituisce le dimensioni dell’array
arr.dtype Restituisce il tipo degli elementi nell’array
arr.astype(dtype) Converte il tipo degli elementi dell’array in dtype
arr.tolist() Converte l’array in una lista
np.info(np.eye) Visualizza la documentazione per np.eye

Copia/Ordinamento/Rimodellamento

np.copy(arr) Copia arr in una nuova memoria
arr.view(dtype) Crea una vista degli elementi di arr con tipo dtype
arr.sort() Ordina arr
arr.sort(axis=0) Ordina un asse specifico di arr
two_d_arr.flatten() Trasforma l’array 2D two_d_arr in 1D
arr.T Traspone arr (le righe diventano colonne e viceversa)
arr.reshape(3,4) Rimodella arr in 3 righe, 4 colonne senza modificare i dati
arr.resize((5,6)) Modifica la forma di arr in 5x6 e riempie i nuovi valori con 0

Aggiunta/Rimozione di elementi

np.append(arr,values) Aggiunge values alla fine di arr
np.insert(arr,2,values) Inserisce values in arr prima dell’indice 2
np.delete(arr,3,axis=0) Elimina la riga all’indice 3 di arr
np.delete(arr,4,axis=1) Elimina la colonna all’indice 4 di arr

Combinazione/Divisione

np.concatenate((arr1,arr2),axis=0) Aggiunge arr2 come righe alla fine di arr1
np.concatenate((arr1,arr2),axis=1) Aggiunge arr2 come colonne alla fine di arr1
np.split(arr,3) Divide arr in 3 sotto-array
np.hsplit(arr,5) Divide arr orizzontalmente al 5° indice

Indicizzazione/Slicing/Sottoinsiemi

arr[5] Restituisce l’elemento all’indice 5
arr[2,5] Restituisce l’elemento dell’array 2D all’indice [2][5]
arr[1]=4 Assegna all’elemento dell’array all’indice 1 il valore 4
arr[1,3]=10 Assegna all’elemento dell’array all’indice [1][3] il valore 10
arr[0:3] Restituisce gli elementi agli indici 0,1,2 (In 2D: restituisce le righe 0,1,2)
arr[0:3,4] Restituisce gli elementi nelle righe 0,1,2 alla colonna 4
arr[:2] Restituisce gli elementi agli indici 0,1 (In 2D: restituisce le righe 0,1)
arr[:,1] Restituisce gli elementi all’indice 1 su tutte le righe
arr<5 Restituisce un array con valori booleani
(arr1<3) & (arr2>5) Restituisce un array con valori booleani
~arr Inverte un array booleano
arr[arr<5] Restituisce gli elementi dell’array minori di 5

Matematica scalare

np.add(arr,1) Aggiunge 1 a ciascun elemento dell’array
np.subtract(arr,2) Sottrae 2 da ciascun elemento dell’array
np.multiply(arr,3) Moltiplica ciascun elemento dell’array per 3
np.divide(arr,4) Divide ciascun elemento per 4 (restituisce np.nan per divisione per zero)
np.power(arr,5) Eleva ciascun elemento dell’array alla 5a potenza

Matematica vettoriale

np.add(arr1,arr2) Somma elemento per elemento arr2 ad arr1
np.subtract(arr1,arr2) Sottrae elemento per elemento arr2 da arr1
np.multiply(arr1,arr2) Moltiplica elemento per elemento arr1 per arr2
np.divide(arr1,arr2) Divide elemento per elemento arr1 per arr2
np.power(arr1,arr2) Eleva elemento per elemento arr1 alla potenza di arr2
np.array_equal(arr1,arr2) Restituisce True se gli array hanno gli stessi elementi e forma
np.sqrt(arr) Radice quadrata di ciascun elemento nell’array
np.sin(arr) Seno di ciascun elemento nell’array
np.log(arr) Logaritmo naturale di ciascun elemento nell’array
np.abs(arr) Valore assoluto di ciascun elemento nell’array
np.ceil(arr) Arrotonda per eccesso all’intero più vicino
np.floor(arr) Arrotonda per difetto all’intero più vicino
np.round(arr) Arrotonda all’intero più vicino

Statistiche

np.mean(arr,axis=0) Restituisce la media lungo un asse specifico
arr.sum() Restituisce la somma di arr
arr.min() Restituisce il valore minimo di arr
arr.max(axis=0) Restituisce il valore massimo di un asse specifico
np.var(arr) Restituisce la varianza dell’array
np.std(arr,axis=1) Restituisce la deviazione standard di un asse specifico
arr.corrcoef() Restituisce il coefficiente di correlazione dell’array