Panda: come selezionare le colonne in base alla corrispondenza parziale


È possibile utilizzare i seguenti metodi per selezionare le colonne in un DataFrame panda in base a una corrispondenza parziale:

Metodo 1: seleziona le colonne in base alla corrispondenza parziale

 #select columns that contain 'team'
df. loc [:, df. columns . str . contains (' team ')]

Metodo 2: seleziona le colonne in base a più corrispondenze parziali

 #select columns that contain 'team' or 'rebounds'
df. loc [:, df. columns . str . contains (' team|rebounds ')]

Gli esempi seguenti mostrano come utilizzare ciascun metodo con i seguenti DataFrame panda:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team_name ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' team_points ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' assists ': [11, 8, 10, 6, 6, 5, 9, 12],
                   ' rebounds ': [6, 7, 7, 6, 10, 12, 10, 9]})

#view DataFrame
print (df)

  team_name team_points assists rebounds
0 A 5 11 6
1 To 7 8 7
2 To 7 10 7
3 to 9 6 6
4 B 12 6 10
5 B 9 5 12
6 B 9 9 10
7 B 4 12 9

Esempio 1: seleziona le colonne in base alla corrispondenza parziale

Il codice seguente mostra come selezionare tutte le colonne nel DataFrame panda che contengono “team” nel nome della colonna:

 #select columns that contain 'team'
df_team_cols = df. loc [:, df. columns . str . contains (' team ')]

#view results
print (df_team_cols)

  team_name team_points
0 to 5
1 to 7
2 to 7
3 to 9
4 B 12
5 B 9
6 B 9
7 B 4

Tieni presente che vengono restituite entrambe le colonne con “team” nel nome.

Esempio 2: selezionare le colonne in base a più corrispondenze parziali

Il codice seguente mostra come selezionare tutte le colonne nel DataFrame panda che contengono “team” o “rimbalzi” nel nome della colonna:

 #select columns that contain 'team' or 'rebounds'
df_team_rebs = df. loc [:, df. columns . str . contains (' team|rebounds ')]

#view results
print (df_team_rebs)

  team_name team_points rebounds
0 to 5 6
1 To 7 7
2 to 7 7
3 to 9 6
4 B 12 10
5 B 9 12
6 B 9 10
7 B 4 9

Vengono restituite tutte le colonne con “squadra” o “rimbalzi” nel nome.

Nota : il | l’operatore rappresenta “OR” nei panda.

Sentiti libero di utilizzare tutti gli operatori che desideri per trovare tutte le corrispondenze parziali di stringhe che desideri.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni nei panda:

Come selezionare le colonne per nome in Pandas
Come selezionare le colonne per indice in Pandas
Come selezionare le colonne per tipo di dati in Pandas

Aggiungi un commento

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