Come ottenere i numeri di riga in un pandas dataframe


Spesso potresti voler ottenere numeri di riga in un DataFrame panda che contengono un determinato valore.

Fortunatamente, questo è facile da fare utilizzando la funzione .index .

Questo tutorial mostra diversi esempi di utilizzo pratico di questa funzione.

Esempio 1: ottieni numeri di riga che corrispondono a un determinato valore

Supponiamo di avere i seguenti panda DataFrame:

 import pandas as pd

#createDataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
                   'assists': [5, 7, 7, 9, 12],
                   'team': ['Mavs', 'Mavs', 'Spurs', 'Celtics', 'Warriors']})

#view DataFrame 
print (df)

        team assists points
0 25 5 Mavs
1 12 7 Mavs
2 15 7 Spurs
3 14 9 Celtics
4 19 12 Warriors

Possiamo usare la seguente sintassi per ottenere i numeri di riga dove “team” è uguale a Mavs:

 #get row numbers where 'team' is equal to Mavs
df[df[' team '] == ' Mavs ']. index

Int64Index([0, 1], dtype='int64')

Possiamo vedere che il nome della squadra è uguale a ‘Mavs’ nelle righe indice 0 e 1 .

Possiamo anche ottenere i numeri di riga in cui si trova il nome della squadra in un determinato elenco di nomi di squadre:

 #get row numbers where 'team' is equal to Mavs or Spurs
filter_list = [' Mavs ', ' Spurs ']

#return only rows where team is in the list of team names
df[df. team . isin (filter_list)]. index

Int64Index([0, 1, 2], dtype='int64')

Possiamo vedere che il nome della squadra è uguale a ‘Mavs’ o ‘Spurs’ negli indici di riga 0 , 1 e 2 .

Esempio 2: ottieni un numero di riga univoco

Supponiamo di avere i seguenti panda DataFrame:

 import pandas as pd

#createDataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
                   'assists': [5, 7, 7, 9, 12],
                   'team': ['Mavs', 'Mavs', 'Spurs', 'Celtics', 'Warriors']})

Se sai che una singola riga corrisponde a un determinato valore, puoi recuperare quel numero di riga univoco utilizzando la seguente sintassi:

 #get the row number where team is equal to Celtics
df[df[' team '] == ' Celtics ']. index [ 0 ]

3

Possiamo vedere che la squadra è uguale a “Celtics” nell’indice della riga numero 3 .

Esempio 3: ottieni la somma dei numeri di riga

Supponiamo di avere i seguenti panda DataFrame:

 import pandas as pd

#createDataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
                   'assists': [5, 7, 7, 9, 12],
                   'team': ['Mavs', 'Mavs', 'Spurs', 'Celtics', 'Warriors']})

Se vuoi conoscere il numero totale di righe in cui una colonna equivale a un determinato valore, puoi utilizzare la seguente sintassi:

 #find total number of rows where team is equal to Mavs
len (df[df[' team '] == ' Celtics ']. index )

2

Possiamo vedere che questa squadra è uguale a “Mavs” su un totale di 2 righe.

Risorse addizionali

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

Come trovare valori univoci in più colonne in Pandas
Come filtrare un Pandas DataFrame su più condizioni
Come contare i valori mancanti in un Pandas DataFrame

Aggiungi un commento

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