Introduzione ai DataFrame di Pandas
Un DataFrame è una struttura dati flessibile che può contenere dati di diverso tipo (numerici, stringhe, booleani, ecc.). I DataFrame sono fondamentalmente collezioni di Series, dove ogni colonna di un DataFrame è una Series. Le colonne possono avere nomi (etichette), e le righe sono indicizzate da un'etichetta chiamata indice.
Ci sono diversi modi per creare un DataFrame in Pandas. Puoi creare un DataFrame da una lista di dizionari, da un dizionario di liste, da una matrice NumPy, o anche da un file CSV.
Creazione di un dataframe Pandas in Python
Uno dei modi più comuni per creare un DataFrame è partire da un dizionario di liste, dove le chiavi del dizionario diventano i nomi delle colonne e le liste i valori per ogni colonna.
import pandas as pd
# Creazione di un DataFrame da un dizionario di liste
data = {
'Nome': ['Anna', 'Luca', 'Marco', 'Giulia'],
'Età': [23, 29, 35, 28],
'Città': ['Milano', 'Roma', 'Torino', 'Napoli']
}
df = pd.DataFrame(data)
print(df)
Un altro modo comune di creare un DataFrame è importare i dati da un file CSV utilizzando la funzione pd.read_csv().
# Creazione di un DataFrame da un file CSV
df = pd.read_csv('nome_del_file.csv')
print(df)
Accedere ad un dataframe Pandas
Una volta creato un DataFrame, è possibile accedere ai suoi dati in vari modi. Le operazioni di base includono l'accesso a colonne, righe, e sottoinsiemi di dati, oltre a operazioni di filtraggio e selezione.
Per accedere a una colonna specifica, puoi utilizzare il nome della colonna tra parentesi quadre.
# Accesso a una singola colonna
nomi = df['Nome']
print(nomi)
Questo codice restituisce una Series contenente tutti i nomi nella colonna 'Nome'. Puoi anche accedere a più colonne contemporaneamente passando una lista di nomi di colonne.
# Accesso a più colonne
nomi_eta = df[['Nome', 'Età']]
print(nomi_eta)
Per accedere a righe specifiche, puoi utilizzare il metodo loc[] per selezionare righe in base all'indice o iloc[] per selezionare righe in base alla posizione.
# Accesso a una singola riga tramite loc
riga_1 = df.loc[0]
print(riga_1)
# Accesso a una singola riga tramite iloc
riga_2 = df.iloc[1]
print(riga_2)
il metodo loc[] è utile quando l'indice è un'etichetta, mentre iloc[] è utile quando si conosce la posizione numerica della riga.