Filtrare le liste
filter()
Questa utilissima funzione con la sintassi filter(f,v) estrae da una sequenza v tutti gli elementi x per cui f(x) è vera e restituisce come risultato la lista che consiste di tutti questi elementi.
Dopo aver definito:
def pari (x): return x%2==0
possiamo estrarre tutti i numeri pari da una lista:
def pari (x): return x%2==0v= list(range(1,21))print(v)x = list(filter(pari,v))print(x)Output:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
Nota:
Come possiamo vedere la funzione range() ha creato una lista di numeri in sequenza da 0 a 9, senza doverli definire uno ad uno. La chiamata alla funzione list() serve per il casting, cioè la conversione dell’oggetto restituito da range() in una lista.
Similmente da un elenco di parole possiamo estrarre le parole che hanno lunghezza ≥ 5:
v=['Roma','Ferrara','Bologna','Pisa']x= list(filter((lambda x: len(x) > 4),v))xOutput:
Filtrare i dataframe
Vedremo ora vari metodi per filtrare i dataframe in Python, utilizzando la libreria Pandas. Filtrare dei dati è una delle operazioni di manipolazione dei dati più frequenti. È simile alla clausola WHERE in SQL ,necessaria per selezionare righe specifiche in base ad alcune condizioni. In termini di velocità, Python ha un modo efficiente per eseguire la selezione e l’aggregazione. Pandas è un’ottima libreria per le attività di gestione dei dati. Pandas è stata costruita sopra il pacchetto numpy che è stato scritto in linguaggio C, che è un linguaggio di basso livello. Quindi la manipolazione dei dati, utilizzando Pandas, costituisce un modo rapido ed efficiente per gestire set di dati di grandi dimensioni.
È uno dei passaggi più iniziali della preparazione dei dati per la modellazione predittiva o qualsiasi progetto di reporting.
- Seleziona tutti i clienti attivi i cui conti sono stati aperti dopo il 1 gennaio 2020
- Estrai i dettagli di tutti i clienti che hanno effettuato più di 3 transazioni negli ultimi 6 mesi
- Recupera le informazioni dei dipendenti che hanno trascorso più di 3 anni nell’organizzazione e hanno ricevuto il punteggio più alto negli ultimi 2 anni.
- Analizza i dati sui reclami e identifica i clienti che hanno presentato più di 5 reclami nell’ultimo anno.
- Estrarre i dettagli delle città metropolitane in cui il reddito pro capite è superiore a 40K Euro.
Importazione dei dati
Utilizzeremo il set di dati contenente il rapporto di rendimento degli ultimi 30 giorni, per questo sito esportato da Google Search Console.
Google Search Console è un servizio gratuito offerto da Google che ti consente di monitorare e gestire la presenza del tuo sito nei risultati della Ricerca Google
Sono, per ogni “query” ( ricerca eseguita sul sito), disponibili le seguenti metriche:
- Impressioni. La frequenza con cui un utente ha visto un link al tuo sito su Google.
- Click. Ogni clic che reindirizza l’utente a una pagina esterna alla Ricerca Google, viene conteggiato come un clic.
- Posizione (media). Un ranking relativo della posizione del tuo link su Google, dove 1 è la posizione più alta, 2 è quella successiva e così via.
- Percentuale di clic. Il calcolo di clic / impressioni.
Questo set di dati ha 1000 righe e 4 colonne. Per importare il set di dati, useremo la funzione read_csv( )del pacchetto Pandas.
I nomi delle colonne sono: “Query più frequenti”,”Clic”,”Impressioni”,”CTR”,”Posizione”.

Filtriamo ora i dati.
Siamo interessati a sapere quali query hanno portato ad un numero di clic maggiore o uguale di 600:
Primo metodo:
ESEMPIO 1:
import pandas as pddf = pd.read_csv("Query.csv", usecols=range(0,5))newdf = df[(df.Clic >= 600)]newdf.head()
import pandas as pddf = pd.read_csv("Query.csv", usecols=range(0,5))newdf = df[(df.Clic >= 100) & (df.Posizione < 4)]newdf.head()
- I dati filtrati vengono archiviati su un nuovo frame di dati chiamato
newdf. - Il simbolo si
&riferisce alla condizioneANDche significa soddisfare entrambi i criteri. - Questa parte di codice
(df.Clic >= 100) & (df.Posizione < 4)restituisce True/False. True dove la condizione corrisponde e False dove la condizione non è valida. Successivamente viene passato all’interno di df e restituisce tutte le righe corrispondenti a True.
Condizione OR : soddisfa un criterio oppure l’altro:
import pandas as pddf = pd.read_csv("Query.csv", usecols=range(0,5))newdf = df[(df.Clic == 0) | (df.Posizione >24)]newdf.head()
Secondo metodo : La funzione Query
In Pandas, ci sono diversi modi per eseguire selezioni. Il codice sopra può anche essere riscritto come mostrato di seguito. Questo metodo è elegante e più leggibile e non è necessario menzionare il nome del dataframe ogni volta che si specificano colonne .
import pandas as pddf = pd.read_csv("Query.csv", usecols=range(0,5))newdf = df.query('Clic >= 100 & Posizione < 4')newdf.head()import pandas as pddf = pd.read_csv("Query.csv", usecols=range(0,5))newdf = df.loc[(df.Clic >= 100) & (df.Posizione < 4)]newdf.head()[elementor-template id=”12586″]
[no_toc]
(619)
Altri articoli nella categoria "Lezioni di Informatica"
- Break-Even Point nel Franchising: Calcolo Avanzato, Automazione e Royalty (con Modelli in Python)
- Regressione lineare: esercizi progressivi dai minimi quadrati alla regressione multipla
- Microeconomia applicata: choke price, domanda esponenziale, segmentazione e prezzo ottimale – Parte 2
- Microeconomia applicata: choke price, prezzo di riserva massimo e prezzo ottimale
- Quanti Centri Ha una Figura Geometrica? Dal Baricentro al Pentagramma
- Microeconomia Computazionale: Come la Domanda di Mercato Emerge dai Comportamenti Individuali
- Legge di Benford e Data Quality nel Marketing: Guida, Formule ed Esercizi Python
- Microeconomia dell’AI: 6 esercizi matematici su costi, pricing, domanda ed elasticità
- Equazioni trascendenti: come risolverle con Python, dal punto fisso a Newton e Brent
- Equazioni Omogenee Esponenziali: Guida Pratica con Esercizi Svolti e Applicazioni