AD

Selezione e indicizzazione dataframe di Pandas

Un DataFrame è una struttura dati bidimensionale in Pandas, simile a una tabella SQL o un foglio di calcolo Excel. Ogni colonna in un DataFrame è una Series di Pandas, e può contenere dati di diverso tipo, come numeri, stringhe, o date.

Le righe e le colonne sono indicizzate, permettendo una facile selezione e manipolazione dei dati.

Metodi di selezione e indicizzazione di un DataFrame Pandas

Ci sono vari modi per selezionare e indicizzare un DataFrame in Pandas. A seconda delle esigenze, si possono usare indici posizionali, nomi di colonne, filtri booleani, o metodi come loc e iloc. Vediamo nel dettaglio ciascuno di questi metodi.

Uno dei modi più semplici per accedere ai dati in un DataFrame è selezionare una o più colonne.

import pandas as pd # Creazione di un DataFrame di esempio data = {     'Nome': ['Anna', 'Marco', 'Giulia', 'Luca'],     'Età': [25, 30, 22, 35],     'Città': ['Roma', 'Milano', 'Napoli', 'Torino'] } df = pd.DataFrame(data) # Selezione di una colonna nome_colonna = df['Nome'] print(nome_colonna) # Selezione di più colonne nome_eta = df[['Nome', 'Età']] print(nome_eta)

Selezionare righe con il metodo loc di Pandas

Il metodo .loc[] permette di selezionare righe utilizzando etichette o una condizione booleana. È particolarmente utile quando si lavora con indici personalizzati o quando si vuole selezionare dati basati su una condizione.

# Selezione di una riga per etichetta prima_riga = df.loc[0] print(prima_riga) # Selezione di righe con una condizione eta_sopra_25 = df.loc[df['Età'] > 25] print(eta_sopra_25)

Selezionare righe e colonne con il metodo iloc di Pandas

Il metodo .iloc[] permette di selezionare dati basandosi su indici posizionali, cioè utilizzando numeri interi che indicano la posizione delle righe o delle colonne.

# Selezione della prima riga e prima colonna prima_riga_colonna = df.iloc[0, 0] print(prima_riga_colonna) # Selezione di un intervallo di righe e colonne intervallo = df.iloc[0:2, 0:2] print(intervallo)

Selezionare sottoinsiemi di un DataFrame con i metodi at e iat

Per accedere rapidamente a un singolo elemento, Pandas offre i metodi .at[] e .iat[], che sono simili a .loc[] e .iloc[], ma più efficienti quando si tratta di selezionare singoli valori.

# Accesso a un singolo elemento con etichetta elemento = df.at[1, 'Nome'] print(elemento) # Accesso a un singolo elemento con indice posizionale elemento_rapido = df.iat[1, 0] print(elemento_rapido)

Pandas permette anche di filtrare i dati in un DataFrame utilizzando condizioni booleane. Questo metodo è molto potente e flessibile per estrarre sottoinsiemi di dati basati su criteri specifici.

# Filtraggio delle righe dove l'età è maggiore di 30 sopra_30 = df[df['Età'] > 30] print(sopra_30)