Skip to content

Pandas Cheat Sheet

Guida dettagliata all’uso della libreria Pandas.

Installazione di Pandas

Comando Descrizione
conda install pandas Il modo migliore per ottenere pandas è tramite conda
python3 -m pip install --upgrade pandas Tramite PyPI
pip install pandas Installazione standard tramite pip

Abbreviazioni chiave e importazione dei pacchetti

Abbreviazione Descrizione
df Qualsiasi oggetto DataFrame di Pandas
s Qualsiasi oggetto Series di Pandas

Metodi di importazione

Comando Descrizione
import pandas as pd Importa pandas con l’alias pd
import numpy as np Importa numpy con l’alias np

Selezione dei dati

Comando Descrizione
df[col] Restituisce una colonna come Series in base al nome della colonna
df[[col1, col2]] Restituisce più colonne come DataFrame
s.iloc[0] Seleziona i dati in base alla posizione
s.loc['index_one'] Seleziona i dati in base all’indice
df.iloc[0,:] Restituisce la prima riga
df.iloc[0,0] Restituisce il primo elemento della prima colonna

Pulizia dei dati

Comando Descrizione
df.columns = ['a','b','c'] Rinomina le colonne
pd.isnull() Controlla i valori nulli in un DataFrame; restituisce un array booleano
pd.notnull() Controlla i valori non nulli in un DataFrame; restituisce un array booleano
df.dropna() Elimina tutte le righe contenenti valori nulli
df.dropna(axis=1) Elimina tutte le colonne contenenti valori nulli
df.dropna(axis=1, thresh=n) Elimina tutte le righe con meno di n valori non nulli
df.fillna(x) Sostituisce tutti i valori nulli in un DataFrame con x
s.astype(float) Converte il tipo di dati della Series in float
s.replace(1, 'one') Sostituisce tutti i valori uguali a 1 con ‘one’
s.replace([1,3], ['one', 'three']) Sostituisce 1 con ‘one’ e 3 con ’three’
df.rename(columns=lambda x: x + 1) Rinomina le colonne in blocco
df.rename(columns={'old_name': 'new_name'}) Rinomina selettivamente le colonne
df.set_index('column_one') Cambia la colonna dell’indice
df.rename(index=lambda x: x + 1) Rinomina gli indici in blocco

Importazione dei dati

Comando Descrizione
pd.read_csv(filename) Importa dati da un file CSV
pd.read_table(filename) Importa dati da un file di testo delimitato
pd.read_excel(filename) Importa dati da un file Excel
pd.read_sql(query, connection_object) Importa dati da una tabella/database SQL
pd.read_json(json_string) Importa dati da una stringa JSON
pd.read_html(url) Estrae tabelle da un URL, una stringa o un file HTML
pd.read_clipboard() Recupera il contenuto dagli appunti e lo passa a read_table()
pd.DataFrame(dict) Importa dati da un dizionario (le chiavi sono nomi di colonne, i valori sono dati)

Esportazione dei dati

Comando Descrizione
df.to_csv(filename) Esporta i dati in un file CSV
df.to_excel(filename) Esporta i dati in un file Excel
df.to_sql(table_name, connection_object) Esporta i dati in una tabella SQL
df.to_json(filename) Esporta i dati in un file di testo in formato JSON

Elaborazione dei dati: Filter, Sort e GroupBy

Comando Descrizione
df[df[col] > 0.5] Seleziona le righe in cui il valore nella colonna ‘col’ è > 0.5
df.sort_values(col1) Ordina i dati per la colonna col1 (crescente per impostazione predefinita)
df.sort_values(col2, ascending=False) Ordina i dati per la colonna col2 in ordine decrescente
df.sort_values([col1, col2], ascending=[True, False]) Ordina per col1 crescente, poi col2 decrescente
df.groupby(col) Restituisce un oggetto GroupBy raggruppato per la colonna ‘col’
df.groupby([col1, col2]) Restituisce un oggetto GroupBy raggruppato per più colonne
df.groupby(col1)[col2].mean() Restituisce la media della colonna col2 per ogni gruppo in col1
df.pivot_table(index=col1, values=[col2, col3], aggfunc=max) Crea una tabella pivot raggruppata per col1, calcolando il massimo per col2 e col3
df.groupby(col1).agg(np.mean) Restituisce la media per tutte le colonne raggruppate per col1
df.apply(np.mean) Applica la funzione np.mean a ogni colonna
df.apply(np.max, axis=1) Applica la funzione np.max a ogni riga

Creazione di oggetti di prova

Comando Descrizione
pd.DataFrame(np.random.rand(20,5)) Crea un DataFrame con 20 righe e 5 colonne di numeri casuali
pd.Series(my_list) Crea una Series da un oggetto iterabile my_list
df.index = pd.date_range('1900/1/30', periods=df.shape[0]) Aggiunge un indice di data

Visualizzazione e ispezione dei dati

Comando Descrizione
df.head(n) Visualizza le prime n righe di un DataFrame
df.tail(n) Visualizza le ultime n righe di un DataFrame
df.shape Visualizza il numero di righe e colonne
df.info() Visualizza indice, tipi di dati e informazioni sulla memoria
df.describe() Visualizza statistiche riassuntive per le colonne numeriche
s.value_counts(dropna=False) Visualizza i valori unici e i conteggi per una Series
df.apply(pd.Series.value_counts) Visualizza i valori unici e i conteggi per ogni colonna in un DataFrame

Unione dei dati

Comando Descrizione
df1.append(df2) Aggiunge le righe di df2 alla fine di df1
pd.concat([df1, df2], axis=1) Aggiunge le colonne di df2 alla fine di df1
df1.join(df2, on=col1, how='inner') Join in stile SQL tra le colonne di df1 e df2

Statistiche dei dati

Comando Descrizione
df.describe() Visualizza statistiche riassuntive per le colonne numeriche
df.mean() Restituisce la media di tutte le colonne
df.corr() Restituisce il coefficiente di correlazione tra le colonne
df.count() Restituisce il numero di valori non nulli in ogni colonna
df.max() Restituisce il valore massimo di ogni colonna
df.min() Restituisce il valore minimo di ogni colonna
df.median() Restituisce la mediana di ogni colonna
df.std() Restituisce la deviazione standard di ogni colonna