Panda: come selezionare le righe tra due valori


È possibile utilizzare la seguente sintassi di base per selezionare le righe in un DataFrame panda in cui una colonna si trova tra due valori specifici:

 df_filtered = df[df[' points ']. between ( 25 , 35 )]

Questo particolare esempio seleziona tutte le righe il cui valore nella colonna dei punti è compreso tra 25 e 35.

Se invece vuoi selezionare righe il cui valore nella colonna punti non è compreso tra 25 e 35, puoi aggiungere una tilde ( ~ ) prima del nome della colonna:

 df_filtered = df[ ~ df[' points ']. between ( 25 , 35 )]

Gli esempi seguenti mostrano come utilizzare ciascun metodo nella pratica.

Esempio: seleziona le righe tra due valori in Pandas

Supponiamo di avere il seguente DataFrame panda che contiene informazioni sui punti segnati dai giocatori di basket di diverse squadre:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Mavs', 'Mavs', 'Nets', 'Nets', 'Heat', 'Heat', 'Kings'],
                   ' points ': [22, 28, 35, 34, 29, 28, 23]})

#view DataFrame
print (df)

    team points
0 Mavs 22
1 Mavs 28
2 Nets 35
3 Nets 34
4 Heat 29
5 Heat 28
6 Kings 23

Possiamo utilizzare la seguente sintassi per selezionare solo le righe del DataFrame in cui il valore nella colonna dei punti è compreso tra 25 e 35:

 #select rows where value in points column is between 25 and 35
df_filtered = df[df[' points ']. between ( 25 , 35 )]

#view filtered DataFrame
print (df_filtered)

   team points
1 Mavs 28
2 Nets 35
3 Nets 34
4 Heat 29
5 Heat 28

Tieni presente che sono state selezionate solo le righe il cui valore nella colonna dei punti è compreso tra 25 e 35.

Tieni presente che la funzione between() include valori nei limiti inferiore e superiore.

Ad esempio, il giocatore con un valore di punti pari a 35 è stato incluso nel DataFrame filtrato.

Se invece vogliamo selezionare solo le righe il cui valore nella colonna punti non è compreso tra 25 e 35, possiamo aggiungere una tilde ( ~ ) prima del nome della colonna:

 #select rows where value in points column is not between 25 and 35
df_filtered = df[ ~ df[' points ']. between ( 25 , 35 )]

#view filtered DataFrame
print (df_filtered)

    team points
0 Mavs 22
6 Kings 23

Tieni presente che sono state selezionate solo le righe il cui valore nella colonna dei punti non è compreso tra 25 e 35.

Nota : puoi trovare la documentazione completa della funzione panda between() qui .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni nei panda:

Panda: seleziona le righe in cui due colonne sono uguali
Panda: seleziona le righe da DataFrame utilizzando una serie booleana
Panda: seleziona le righe con valori NaN

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *