Panda: seleziona le righe in cui il valore appare in qualsiasi colonna
Spesso potresti voler selezionare le righe in un DataFrame panda in cui un determinato valore appare in una delle colonne.
Fortunatamente, questo è facile da fare utilizzando la funzione .any pandas. Questo tutorial spiega diversi esempi di utilizzo pratico di questa funzione.
Esempio 1: trova un valore in qualsiasi colonna
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], 'rebounds': [11, 8, 10, 6, 6]}) #view DataFrame print (df) points assists rebounds 0 25 5 11 1 12 7 8 2 15 7 10 3 14 9 6 4 19 12 6
La seguente sintassi mostra come selezionare tutte le righe nel DataFrame che contengono il valore 25 in una delle colonne:
df[df. isin ([ 25 ]). any (axis= 1 )] points assists rebounds 0 25 5 11
La seguente sintassi mostra come selezionare tutte le righe nel DataFrame che contengono i valori 25, 9 o 6 in una qualsiasi delle colonne:
df[df. isin ([ 25,9,6 ]). any (axis= 1 )] points assists rebounds 0 25 5 11 3 14 9 6 4 19 12 6
Esempio 2: trova un carattere in qualsiasi colonna
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], 'position': ['G', 'G', 'F', 'F', 'C']}) #view DataFrame print (df) position assist points 0 25 5 G 1 12 7 G 2 15 7 F 3 14 9 F 4 19 12 C
La seguente sintassi mostra come selezionare tutte le righe nel DataFrame che contengono il carattere G in una qualsiasi delle colonne:
df[df. isin ([' G ']). any (axis= 1 )] position assist points 0 25 5 G 1 12 7 G
La seguente sintassi mostra come selezionare tutte le righe nel DataFrame che contengono i valori G o C in una qualsiasi delle colonne:
df[df. isin ([' G ',' C ']). any (axis= 1 )] position assist points 0 25 5 G 1 12 7 G 4 19 12 C
Risorse addizionali
Come filtrare un Pandas DataFrame su più condizioni
Come trovare valori univoci in più colonne in Pandas
Come ottenere i numeri di riga in un Pandas DataFrame