Panda: come trovare la prima riga che soddisfa i criteri


È possibile utilizzare la seguente sintassi per trovare la prima riga di un DataFrame panda che soddisfa criteri specifici:

 #get first row where value in 'team' column is equal to 'B'
df[df. team == ' B ']. iloc [0]

#get index of first row where value in 'team' column is equal to 'B'
df[df. team == ' B ']. index [0]

I seguenti esempi mostrano come utilizzare questa sintassi in pratica con i seguenti DataFrame panda:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'C', 'C', 'C'],
                   ' points ': [18, 13, 19, 14, 24, 21, 20, 28],
                   ' assists ': [5, 7, 17, 9, 12, 9, 5, 12]})

#view DataFrame
print (df)

  team points assists
0 to 18 5
1 to 13 7
2 A 19 17
3 B 14 9
4 B 24 12
5 C 21 9
6 C 20 5
7 C 28 12

Esempio 1: trova la prima riga che soddisfa un criterio

Possiamo utilizzare la seguente sintassi per trovare la prima riga in cui il valore nella colonna della squadra è uguale a “B”:

 #find first row where team is equal to 'B'
df[df. team == ' B ']. iloc [0]

team B
points 14
assists 9
Name: 3, dtype: object

#find index of first row where team is equal to 'B'
df[df. team == ' B ']. index [0]

3

Possiamo vedere che la prima riga in cui il valore nella colonna della squadra è uguale a “B” si trova nella posizione dell’indice 3.

Esempio 2: trova la prima riga che soddisfa più criteri

Possiamo utilizzare la seguente sintassi per trovare la prima riga in cui il valore nella colonna dei punti è maggiore di 15 e il valore nella colonna degli assist è maggiore di 10:

 #find first row where points > 15 and assists > 10
df[(df. points > 15) & (df. assists > 10)]. iloc [0]

team A
points 19
assists 17
Name: 2, dtype: object

#find index of first row where points > 15 and assists > 10
df[(df. points > 15) & (df. assists > 10)]. index [0]

2

Possiamo vedere che la prima riga in cui il valore nella colonna dei punti è maggiore di 15 e il valore nella colonna degli assist è maggiore di 10 si trova nella posizione dell’indice 2.

Esempio 3: trova la prima riga che soddisfa uno dei tanti criteri

Possiamo utilizzare la seguente sintassi per trovare la prima riga in cui il valore nella colonna dei punti è maggiore di 15 o il valore nella colonna degli assist è maggiore di 10:

 #find first row where points > 15 or assists > 10
df[(df. points > 15) | (df. assists > 10)]. iloc [0]

team A
points 18
assists 5
Name: 0, dtype: object

#find index of first row where points > 15 or assists > 10
df[(df. points > 15) | (df. assists > 10)]. index [0]

0

Possiamo vedere che la prima riga in cui il valore nella colonna dei punti è maggiore di 15 o il valore nella colonna degli assist è maggiore di 10 si trova nella posizione dell’indice 0.

Risorse addizionali

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

Come selezionare le righe senza valori NaN in Panda
Come selezionare le righe in base ai valori delle colonne in Pandas
Come selezionare singole righe in Panda

Aggiungi un commento

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