CORSO INTRODUTTIVO PYTHON – 08

  • Pubblicato
  • Aggiornato
  • 2 minuti di lettura

Introduzione al Progetto

In questa lezione faremo un passo importante verso il mondo dell’analisi dei dati. Python è uno degli strumenti più utilizzati per lavorare con i dati, grazie a librerie potenti come NumPy e Pandas, che semplificano la manipolazione e l’elaborazione di grandi quantità di informazioni.

Sommario

Soluzioni esercizi lezione 07

				
					#esercizio 1
class Rettangolo:
    def __init__(self, base, altezza):
        self.base = base
        self.altezza = altezza

    def area(self):
        return self.base * self.altezza

rettangolo = Rettangolo(4, 5)
print("Area:", rettangolo.area())  # Output: Area: 20

				
			
				
					#esercizio 2
class Veicolo:
    def muoviti(self):
        print("Il veicolo si muove.")

class Auto(Veicolo):
    def accelerazione(self):
        print("L'auto accelera.")

auto = Auto()
auto.muoviti()       # Output: Il veicolo si muove.
auto.accelerazione() # Output: L'auto accelera.

				
			
				
					#esercizio 3
class ContoBancario:
    def __init__(self, saldo_iniziale=0):
        """
        Inizializza un nuovo conto bancario con un saldo iniziale.
        :param saldo_iniziale: L'importo iniziale del saldo (default: 0).
        """
        self.__saldo = saldo_iniziale  # Attributo privato per il saldo

    def deposita(self, importo):
        """
        Deposita una somma di denaro nel conto bancario.
        :param importo: L'importo da depositare (deve essere maggiore di 0).
        """
        if importo > 0:
            self.__saldo += importo
            print(f"Hai depositato {importo} €. Saldo attuale: {self.__saldo} €.")
        else:
            print("L'importo da depositare deve essere maggiore di 0.")

    def preleva(self, importo):
        """
        Preleva una somma di denaro dal conto bancario, se disponibile.
        :param importo: L'importo da prelevare (deve essere maggiore di 0 e non superare il saldo disponibile).
        """
        if importo > 0:
            if importo <= self.__saldo:
                self.__saldo -= importo
                print(f"Hai prelevato {importo} €. Saldo attuale: {self.__saldo} €.")
            else:
                print("Saldo insufficiente per completare l'operazione.")
        else:
            print("L'importo da prelevare deve essere maggiore di 0.")

    def mostra_saldo(self):
        """
        Mostra il saldo attuale del conto bancario.
        """
        print(f"Il saldo attuale è: {self.__saldo} €.")

# Esempio di utilizzo della classe ContoBancario
conto = ContoBancario(100)  # Crea un conto con un saldo iniziale di 100 euro
conto.mostra_saldo()        # Mostra il saldo
conto.deposita(50)          # Deposita 50 euro
conto.preleva(30)           # Preleva 30 euro
conto.preleva(150)          # Prova a prelevare un importo superiore al saldo
conto.mostra_saldo()        # Mostra il saldo finale

				
			

Obiettivi della lezione 08

  • Capire il ruolo di NumPy e Pandas nell’analisi dei dati.
  • Installare e importare queste librerie.
  • Apprendere i concetti base di array (NumPy) e DataFrame (Pandas).
  • Eseguire semplici operazioni su array e DataFrame.

Introduzione a NumPy

NumPy (Numerical Python) è una libreria fondamentale per il calcolo scientifico in Python. Fornisce supporto per:

  • Array multidimensionali: Simili alle liste, ma più efficienti e potenti.
  • Operazioni matematiche su array: Somme, moltiplicazioni, funzioni trigonometriche e molto altro.

Installazione e importazione

				
					#bash (/terminale)
pip install numpy

				
			
				
					#importare la libreria (editor)
import numpy as np

				
			

Creazione di array

Gli array di NumPy sono simili alle liste, ma ottimizzati per il calcolo matematico.

				
					import numpy as np

# Creare un array da una lista
array = np.array([1, 2, 3, 4, 5])
print(array)  # Output: [1 2 3 4 5]

				
			

Proprietà degli array

				
					print(array.shape)  # Dimensione dell'array (es. (5,))
print(array.ndim)   # Numero di dimensioni
print(array.size)   # Numero totale di elementi
print(array.dtype)  # Tipo di dato (es. int32, float64)

				
			

Operazioni sugli array

				
					#operazioni matematiche
array = np.array([1, 2, 3])
print(array + 10)  # Output: [11 12 13]
print(array * 2)   # Output: [2 4 6]
print(np.sqrt(array))  # Radice quadrata

#creare array speciali
print(np.zeros((2, 3)))  # Array (Matrice) 2x3 di zeri
print(np.ones((3, 3)))   # Array (Matrice) 3x3 di uni
print(np.arange(0, 10, 2))  # Array da 0 a 10 con passo 2

				
			

Introduzione a Pandas

Pandas è una libreria potente per la manipolazione e l’analisi dei dati. Fornisce due strutture principali:

  • Serie (Series): Struttura simile a una lista, ma con un indice associato.
  • DataFrame: Una tabella bidimensionale (simile a un foglio Excel).

Installazione e importazione

				
					#bash
pip install pandas

				
			
				
					#importare la libreria (editor)
import pandas as pd


				
			

Serie

Una Series è una colonna di dati con un indice associato.

Creare una Series

				
					import pandas as pd

dati = [10, 20, 30]
serie = pd.Series(dati, index=["a", "b", "c"])
print(serie)

				
			
				
					OUTPUT:

a    10
b    20
c    30
dtype: int64

				
			

Accesso agli elementi

				
					print(serie["a"])  # Output: 10
print(serie[1])    # Output: 20

				
			

DataFrame

Ora che abbiamo configurato tutto, scriviamo il nostro primo programma.

Creare un DataFrame

				
					#Puoi creare un DataFrame da un dizionario
import pandas as pd

dati = {
    "Nome": ["Alice", "Bob", "Charlie"],
    "Età": [25, 30, 35],
    "Città": ["Roma", "Milano", "Napoli"]
}

df = pd.DataFrame(dati)
print(df)

				
			
				
					OUTPUT:

      Nome  Età   Città
0    Alice   25    Roma
1      Bob   30  Milano
2  Charlie   35  Napoli

				
			

Esplorare un DataFrame

				
					#Colonne e righe
print(df.columns)  # Output: Index(['Nome', 'Età', 'Città'], dtype='object')
print(df.index)    # Output: RangeIndex(start=0, stop=3, step=1)

#Accesso ai dati
print(df["Nome"])  # Colonna Nome
print(df.iloc[0])  # Prima riga
print(df.loc[1])   # Riga con indice 1

				
			

Filtrare i dati

				
					# Filtrare le righe dove l'età è maggiore di 25
filtrato = df[df["Età"] > 25]
print(filtrato)
				
			

Operazioni di base con Pandas

Aggiungere e rimuovere colonne

				
					#crea una colonna di nome Stipendio con 3 valori
df["Stipendio"] = [3000, 4000, 5000]
print(df)

df = df.drop("Città", axis=1)  # Rimuove la colonna "Città"
print(df)

				
			

Statistiche di base

				
					print(df.describe())  # Statistiche descrittive
print(df["Età"].mean())  # Età media

				
			

Esercizi pratici

  • Esercizio 1: Creare un array
    Crea un array NumPy di numeri da 1 a 10 e calcola la loro somma.

  • Esercizio 2: Creare un DataFrame
    Crea un DataFrame con nomi, età e città. Filtra le persone con età maggiore di 30 anni.

  • Esercizio 3: Analisi di un file CSV
    Scarica un file CSV (ad esempio un dataset pubblico), leggilo con Pandas e calcola alcune statistiche.

Conclusioni e anticipazioni

In questa lezione abbiamo:

  • Esplorato NumPy e Pandas, due librerie essenziali per l’analisi dei dati.
  • Imparato a lavorare con array NumPy e DataFrame Pandas.
  • Applicato concetti base per manipolare dati in modo semplice.

Nella prossima lezione approfondiremo le operazioni avanzate con Pandas, inclusa la manipolazione di dataset reali, filtri complessi e import/export di file.

Homepage del Corso Introduttivo

Sei curioso di scoprire il mondo della programmazione?
Con il mio corso gratuito di Python potrai infatti scoprire gli aspetti del linguaggio.
Ogni lezione è spiegata in modo chiaro e pratico.
Inoltre, grazie a esercizi e materiali di supporto, potrai quindi mettere subito in pratica ciò che impari.

Il mio Portfolio