Panda: ottieni l'indice delle righe la cui colonna corrisponde al valore


È possibile utilizzare la seguente sintassi per ottenere l’indice delle righe in un DataFrame panda la cui colonna corrisponde a valori specifici:

 df. index [df[' column_name ']== value ]. tolist ()

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', 'D'],
                   ' points ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
df

team points rebounds
0 to 5 11
1 to 7 8
2 to 7 10
3 B 9 6
4 B 12 6
5 C 9 5
6 C 9 9
7 D 4 12

Esempio 1: ottieni l’indice delle righe la cui colonna corrisponde al valore

Il codice seguente mostra come ottenere l’indice delle righe con una colonna uguale a un determinato valore:

 #get index of rows where 'points' column is equal to 7
df. index [df[' points ']== 7 ]. tolist ()

[1, 2]

Questo ci dice che le righe con valori di indice 1 e 2 hanno il valore “7” nella colonna dei punti.

Tieni presente che possiamo anche utilizzare gli operatori minore di e maggiore di per trovare l’indice delle righe in cui una colonna è inferiore o maggiore di un determinato valore:

 #get index of rows where 'points' column is greater than 7
df. index [df[' points '] > 7 ]. tolist ()

[3, 4, 5, 6]

Questo ci dice che le righe con valori di indice 3 , 4 , 5 e 6 hanno un valore maggiore di “7” nella colonna dei punti.

Esempio 2: ottieni l’indice delle righe la cui colonna corrisponde alla stringa

Il codice seguente mostra come ottenere l’indice delle righe in cui una colonna equivale a una determinata stringa:

 #get index of rows where 'team' column is equal to 'B'
df. index [df[' team ']==' B ']. tolist ()

[3, 4]

Questo ci dice che le righe con valori di indice 3 e 4 hanno il valore “B” nella colonna della squadra.

Esempio 3: ottieni l’indice di riga con più condizioni

Il codice seguente mostra come ottenere l’indice delle righe in cui i valori di più colonne soddisfano determinate condizioni:

 #get index of rows where 'points' is equal to 7 or 12
df. index [(df[' points ']== 7 ) | (df[' points ']== 12 )]. tolist ()

[1, 2, 4]

#get index of rows where 'points' is equal to 9 and 'team' is equal to 'B'
df. index [(df[' points ']== 9 ) & (df[' team ']==' B ')]. tolist ()

[3]

Risorse addizionali

Come ottenere il valore della cella da Pandas DataFrame
Come rinominare l’indice in Pandas DataFrame
Come ordinare le colonne per nome in Pandas

Aggiungi un commento

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