Pandas
Pandas è una libreria, per la manipolazione e l'analisi dei dati, lavorare con dati e tabelle.
Pandas una libreria Python
Pandas è una libreria Python potente e flessibile per la manipolazione e l'analisi dei dati.È particolarmente utile per lavorare con dati strutturati, come tabelle, e offre vari strumenti per la lettura, scrittura e manipolazione dei dati.
Creazione di un DataFrame
Un DataFrame è una struttura dati bidimensionale con etichette sugli assi (righe e colonne).
Può essere paragonato a un foglio di calcolo o una tabella di un database. Ogni colonna in un DataFrame può contenere diversi tipi di dati.
import pandas as pd
# Creare un DataFrame da un dizionario
data = {
'Nome': ['Alice', 'Bob', 'Charlie'],
'Età': [25, 30, 35],
'Città': ['Roma', 'Milano', 'Napoli']
}
df = pd.DataFrame(data)
Lettura di un DataFrame
Pandas supporta la lettura di dati da diversi formati di file come CSV, Excel, SQL, JSON, e molti altri.
df = pd.read_csv('file.csv')
Indici e Posizioni
Ogni DataFrame ha un indice, che è un'etichetta univoca per ogni riga. L'indice può essere una colonna esistente o un valore generato automaticamente.
df.set_index('Nome', inplace=True)
Reset dell'indice
df.reset_index(inplace=True)
Accedere ai dati con l'indice
# Accedere alla riga con l'indice 'Alice'
df.loc['Alice']
Serie: Righe e Colonne di un DataFrame
Una Serie è una struttura dati unidimensionale con etichette sugli assi. Ogni colonna di un DataFrame è una Serie.
serie = pd.Series([1, 2, 3], index=['a', 'b', 'c'])
Accesso a righe e colonne
# Accedere a una colonna come Serie
colonna_eta = df['Età']
# Accedere a una riga con il metodo loc (indice) o iloc (posizione)
riga_alice = df.loc['Alice']
riga_posizione_0 = df.iloc[0]
Filtrare i dati
# Filtrare le righe dove l'età è maggiore di 30
df_filtro = df[df['Età'] > 30]
Aggiungere una nuova colonna
# Aggiungere una nuova colonna con valori calcolati
df['Anno di Nascita'] = 2023 - df['Età']
Rimuovere una colonna
# Rimuovere le colonne 'Età' e 'Città'
df = df.drop(columns=['Età', 'Città'])
print(df)
Raggruppare e aggregare i dati
# Raggruppare per colonna e calcolare la media
df_gruppo = df.groupby('Città').mean()
Esempio Completo
import pandas as pd
# Creare un DataFrame
data = {
'Nome': ['Alice', 'Bob', 'Charlie'],
'Età': [25, 30, 35],
'Città': ['Roma', 'Milano', 'Napoli']
}
df = pd.DataFrame(data)
# Impostare un indice
df.set_index('Nome', inplace=True)
# Leggere i dati da un file CSV
df_csv = pd.read_csv('file.csv')
# Accedere ai dati con l'indice
riga_bob = df.loc['Bob']
# Aggiungere una nuova colonna
df['Anno di Nascita'] = 2023 - df['Età']
# Filtrare i dati
df_filtrato = df[df['Età'] > 30]
# Raggruppare e aggregare i dati
df_gruppo = df.groupby('Città').mean()
# Visualizzare il DataFrame risultante
print(df)
print(df_filtrato)
print(df_gruppo)