Skip to content

NumPy Cheat Sheet

Il sistema NumPy è un’estensione di calcolo numerico open-source per Python. Questo strumento può essere utilizzato per memorizzare ed elaborare grandi matrici, il che è molto più efficiente della struttura di liste nidificate propria di Python (che può anche essere utilizzata per rappresentare le matrici).

Spiegazione

Usa arr per rappresentare un oggetto array numpy.

Importare il modulo

import numpy as np

Importare/Esportare

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

Creare un array

np.array([1,2,3]) Array 1D
np.array([(1,2,3),(4,5,6)]) Array 2D
np.zeros(3) Array 1D di lunghezza 3 con soli zeri
np.ones((3,4)) Array 3x4 con tutti i valori a 1
np.eye(5) Array 5x5 con 1 sulla diagonale e 0 altrove (matrice identità)
np.linspace(0,100,6) Array di 6 valori equispaziati 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 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

Ispezionare le 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 di np.eye

Copiare/Ordinare/Rimodellare

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 dell’array
two_d_arr.flatten() Trasforma l’array 2D in un array 1D
arr.T Traspone l’array (le righe diventano colonne e viceversa)
arr.reshape(3,4) Rimodella l’array in 3 righe e 4 colonne senza modificare i dati
arr.resize((5,6)) Cambia la forma dell’array in 5x6 e riempie i nuovi valori con 0

Aggiungere/Rimuovere elementi

np.append(arr,values) Aggiunge valori alla fine di arr
np.insert(arr,2,values) Inserisce valori nell’array 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

Combinare/Dividere

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 l’array in 3 sotto-array
np.hsplit(arr,5) Divide l’array 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 (su un array 2D: restituisce le righe 0,1,2)
arr[0:3,4] Restituisce gli elementi sulle righe 0,1,2 alla colonna 4
arr[:2] Restituisce gli elementi agli indici 0,1 (su un array 2D: restituisce le righe 0,1)
arr[:,1] Restituisce gli elementi all’indice 1 in 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) Aggiungi 1 a ogni elemento dell’array
np.subtract(arr,2) Sottrai 2 da ogni elemento dell’array
np.multiply(arr,3) Moltiplica ogni elemento dell’array per 3
np.divide(arr,4) Dividi ogni elemento dell’array per 4 (restituisce np.nan per la divisione per zero)
np.power(arr,5) Eleva ogni elemento dell’array alla 5ª potenza

Matematica vettoriale

np.add(arr1,arr2) Somma arr2 a arr1 elemento per elemento
np.subtract(arr1,arr2) Sottrai arr2 da arr1 elemento per elemento
np.multiply(arr1,arr2) Moltiplica arr1 per arr2 elemento per elemento
np.divide(arr1,arr2) Dividi arr1 per arr2 elemento per elemento
np.power(arr1,arr2) Eleva gli elementi di arr1 alla potenza degli elementi di arr2
np.array_equal(arr1,arr2) Restituisce True se gli array hanno gli stessi elementi e forma
np.sqrt(arr) Radice quadrata di ogni elemento nell’array
np.sin(arr) Seno di ogni elemento nell’array
np.log(arr) Logaritmo naturale di ogni elemento nell’array
np.abs(arr) Valore assoluto di ogni 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