Libreria Numpy di python per il data analyst

Python per il Data Analyst/Scientist: Introduzione a NumPy

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:

  1. 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”.
  2. Apri Visual Studio Code:
    • Apri Visual Studio Code.
    • Installa l’estensione di Python se non l’hai già fatto.
  3. 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 codiceconda activate data_analysis
  4. 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:

  1. Crea un nuovo file:
    • In Visual Studio Code, crea un nuovo file e salvalo con estensione .py (es. test_numpy.py).
  2. 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)
  1. Esegui il file:
    • Nel terminale integrato, assicurati che l’ambiente Anaconda sia attivo e poi esegui il file:shCopia codicepython test_numpy.py

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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

  1. Crea un array NumPy contenente i numeri da 1 a 10.
  2. Moltiplica ogni elemento dell’array per 3.
  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

  1. Genera un array di 500 numeri casuali distribuiti normalmente.
  2. Calcola la media e la deviazione standard di questi numeri.
  3. 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.


Commenti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *