La libreria NumPy è uno strumento fondamentale per qualsiasi data analyst o data scientist che lavori con Python.
In questo articolo, esploreremo cos’è NumPy, come si applica all’analisi dei dati e forniremo alcuni esempi pratici per iniziare a programmare con questa potente libreria.
Cos’è NumPy?
NumPy (Numerical Python) è una libreria open-source per il linguaggio Python che supporta array e matrici multidimensionali, insieme a una vasta raccolta di funzioni matematiche per operare su questi array.
È progettata per eseguire calcoli numerici in modo efficiente e con alte prestazioni, grazie a implementazioni ottimizzate.
Perché NumPy è importante per l’analisi dei dati?
NumPy è essenziale per l’analisi dei dati perché:
- Efficienza: Le operazioni sugli array NumPy sono molto più veloci rispetto a quelle sui normali elenchi di Python.
- Funzionalità avanzate: Supporta una vasta gamma di funzioni matematiche, statistiche e di algebra lineare.
- Compatibilità: Molte altre librerie di analisi dei dati, come Pandas, SciPy e scikit-learn, sono costruite sopra NumPy e ne sfruttano le funzionalità.
Installazione di NumPy
Utilizzo di Visual Studio Code con Anaconda
Per installare NumPy, seguire questi passaggi utilizzando Visual Studio Code e Anaconda come configurazione Python, in breve:
- Crea un ambiente Anaconda:
- Apri Anaconda Navigator.
- Vai alla sezione “Environments” e clicca su “Create”.
- Dai un nome al tuo ambiente (es.
data_analysis
) e scegli Python come linguaggio. - Clicca su “Create”.
- Apri Visual Studio Code:
- Apri Visual Studio Code.
- Installa l’estensione di Python se non l’hai già fatto.
- Configura l’ambiente Anaconda in Visual Studio Code:
- Apri il terminale integrato in Visual Studio Code (puoi farlo con
Ctrl +
). - Attiva l’ambiente Anaconda creato:shCopia codice
conda activate data_analysis
- Apri il terminale integrato in Visual Studio Code (puoi farlo con
- Installa NumPy:
- Nel terminale attivo, esegui il seguente comando per installare NumPy:
install numpy
Creazione di un file .py
per testare NumPy
Ora che hai installato NumPy, puoi creare un file .py
per eseguire i tuoi test:
- Crea un nuovo file:
- In Visual Studio Code, crea un nuovo file e salvalo con estensione
.py
(es.test_numpy.py
).
- In Visual Studio Code, crea un nuovo file e salvalo con estensione
- Scrivi il tuo primo programma NumPy:
- Apri il file appena creato e inserisci il seguente codice per verificare che NumPy sia installato correttamente:
import numpy as np
# Creazione di un array 1D array_1d = np.array([1, 2, 3, 4, 5])
print("Array 1D:", array_1d)
# Creazione di un array 2D array_2d = np.array([[1, 2, 3], [4, 5, 6]]) print("Array 2D:", array_2d)
- Esegui il file:
- Nel terminale integrato, assicurati che l’ambiente Anaconda sia attivo e poi esegui il file:shCopia codice
python test_numpy.py
- Nel terminale integrato, assicurati che l’ambiente Anaconda sia attivo e poi esegui il file:shCopia codice
Dovresti vedere l’output degli array 1D e 2D nel terminale, confermando che NumPy è installato e funzionante correttamente.
Utilizzo di NumPy nell’analisi dei dati
Creazione di array NumPy
Gli array NumPy sono la struttura dati centrale della libreria. Ecco come creare un array:
import numpy as np
# Creazione di un array 1D
array_1d = np.array([1, 2, 3, 4, 5])
print(array_1d)
# Creazione di un array 2D
array_2d = np.array([[1, 2, 3], [4, 5, 6]])
print(array_2d)
Operazioni di base con NumPy
NumPy consente di eseguire operazioni matematiche direttamente sugli array:
# Operazioni elementari
array = np.array([10, 20, 30, 40])
# Aggiunta
array_add = array + 5
print(array_add) # Output: [15 25 35 45]
# Moltiplicazione
array_mult = array * 2
print(array_mult) # Output: [20 40 60 80]
# Radice quadrata
array_sqrt = np.sqrt(array)
print(array_sqrt) # Output: [3.16227766 4.47213595 5.47722558 6.32455532]
Indexing e Slicing
Puoi accedere agli elementi di un array e modificarli facilmente:
# Creazione di un array 2D
array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# Accesso a un elemento specifico
print(array_2d[1, 2]) # Output: 6
# Slicing
print(array_2d[:, 1]) # Output: [2 5 8]
Broadcasting
Il broadcasting è una potente funzionalità che permette di eseguire operazioni su array di dimensioni diverse:
a = np.array([1, 2, 3])
b = np.array([[1], [2], [3]])
print(a + b) # Output: [[2 3 4]
# [3 4 5]
# [4 5 6]]
Utilità di NumPy per un Data Analyst
NumPy è estremamente utile per un data analyst per diverse ragioni:
- Efficienza e prestazioni: NumPy è ottimizzato per operazioni numeriche veloci e utilizza librerie C, il che lo rende molto più veloce delle strutture dati native di Python come liste e dizionari per operazioni matematiche e numeriche.
- Supporto per array multidimensionali: Permette di lavorare facilmente con array e matrici multidimensionali, che sono fondamentali per il calcolo scientifico e l’analisi dei dati.
- Operazioni vettorializzate: Le operazioni vettorializzate permettono di eseguire operazioni matematiche su interi array senza bisogno di cicli espliciti, rendendo il codice più leggibile e conciso.
- Integrazione con altre librerie: NumPy è la base di molte altre librerie di analisi dei dati e machine learning in Python, come Pandas, scikit-learn, TensorFlow, ecc.
- Manipolazione dei dati: NumPy offre una vasta gamma di funzioni per la manipolazione dei dati, come reshaping, concatenazione, splitting, ecc., che sono essenziali per preparare i dati per l’analisi.
Esercizi pratici
Esercizio 1: Creazione e manipolazione di array
- Crea un array NumPy contenente i numeri da 1 a 10.
- Moltiplica ogni elemento dell’array per 3.
- Calcola la somma di tutti gli elementi dell’array modificato.
# Soluzione
array = np.arange(1, 11)
array_multiplied = array * 3
array_sum = np.sum(array_multiplied)
print("Somma degli elementi:", array_sum)
Esercizio 2: Analisi statistica di un dataset
- Genera un array di 500 numeri casuali distribuiti normalmente.
- Calcola la media e la deviazione standard di questi numeri.
- Identifica quanti numeri sono sopra la media.
# Soluzione
data = np.random.randn(500)
mean = np.mean(data)
std_dev = np.std(data)
above_mean = np.sum(data > mean)
print("Media:", mean)
print("Deviazione Standard:", std_dev)
print("Numeri sopra la media:", above_mean)
Riassumendo la libreria Nympy di Python
NumPy è uno strumento indispensabile per chiunque lavori con l’analisi dei dati in Python.
Offre funzionalità potenti e flessibili per la manipolazione e l’analisi dei dati, rendendo il processo più efficiente e produttivo.
Prendere confidenza con NumPy è un passo fondamentale per diventare un data analyst o data scientist di successo.
Lascia un commento