Panda: rimuovi le colonne se il nome contiene una stringa specifica


È possibile utilizzare i seguenti metodi per rimuovere colonne da un DataFrame panda il cui nome contiene stringhe specifiche:

Metodo 1: rimuovere le colonne se il nome contiene una stringa specifica

 df. drop (list(df. filter (regex=' this_string ')), axis= 1 , inplace= True )

Metodo 2: rimuovere le colonne se il nome contiene una delle numerose stringhe specifiche

 df. drop (list(df. filter (regex=' string1|string2|string3 ')), axis= 1 , inplace= True )

I seguenti esempi mostrano come utilizzare ciascun metodo nella pratica con i seguenti DataFrame panda:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team_name ': ['A', 'B', 'C', 'D', 'E', 'F'],
                   ' team_location ': ['AU', 'AU', 'EU', 'EU', 'AU', 'EU'],
                   ' player_name ': ['Andy', 'Bob', 'Chad', 'Dan', 'Ed', 'Fran'],
                   ' points ': [22, 29, 35, 30, 18, 12]})

#view DataFrame
print (df)

  team_name team_location player_name points
0 A AU Andy 22
1 B AU Bob 29
2 C EU Chad 35
3 D EU Dan 30
4 E TO Ed 18
5 F EU Fran 12

Esempio 1: rimuovere le colonne se il nome contiene una stringa specifica

Possiamo utilizzare la seguente sintassi per rimuovere qualsiasi colonna dal DataFrame che contenga “team” in qualsiasi punto del nome della colonna:

 #drop columns whose name contains 'team'
df. drop (list(df. filter (regex=' team ')), axis= 1 , inplace= True )

#view updated DataFrame
print (df)

  player_name points
0 Andy 22
1 Bob 29
2 Chad 35
3 Dan 30
4 Ed 18
5 Fran 12

Tieni presente che le due colonne contenenti “team” nel nome sono state rimosse dal DataFrame.

Esempio 2: rimuovere le colonne se il nome contiene una delle numerose stringhe specifiche

Possiamo utilizzare la seguente sintassi per rimuovere qualsiasi colonna dal DataFrame che contenga “giocatore” o “punti” in qualsiasi punto del nome della colonna:

 #drop columns whose name contains 'player' or 'points'
df. drop (list(df. filter (regex=' player|points ')), axis= 1 , inplace= True )

#view updated DataFrame
print (df)

  team_name team_location
0 A AU
1 B AU
2 C EU
3D EU
4 E AU
5 F EU

Tieni presente che le due colonne contenenti “giocatore” o “punti” nel nome sono state rimosse dal DataFrame.

Nota : il | Il simbolo in panda viene utilizzato come operatore “OR”.

Risorse addizionali

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

Come rimuovere la prima colonna in Pandas
Come rimuovere le colonne duplicate in Pandas
Come eliminare tutte le colonne tranne alcune in Pandas

Aggiungi un commento

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