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