Panda's: hoe u kolommen selecteert die een specifieke string bevatten


U kunt de volgende methoden gebruiken om kolommen te selecteren die een bepaalde tekenreeks bevatten in een Pandas DataFrame:

Methode 1: Selecteer kolommen die een specifieke tekenreeks bevatten

 df. filter (regex=' string1 ')

Methode 2: Selecteer kolommen die een of meerdere tekenreeksen bevatten

 df. filter (regex=' string1|string2|string3 ')

De volgende voorbeelden laten zien hoe u elk van deze methoden in de praktijk kunt gebruiken met de volgende panda’s DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' mavs ': [10, 12, 14, 15, 19, 22, 27],
                   ' cavs ': [18, 22, 19, 14, 14, 11, 20],
                   ' hornets ': [5, 7, 7, 9, 12, 9, 14],
                   ' spurs ': [10, 12, 14, 13, 13, 19, 22],
                   ' net ': [10, 14, 25, 22, 25, 17, 12]})

#view DataFrame
print (df)

   mavs cavs hornets spurs nets
0 10 18 5 10 10
1 12 22 7 12 14
2 14 19 7 14 25
3 15 14 9 13 22
4 19 14 12 13 25
5 22 11 9 19 17
6 27 20 14 22 12

Voorbeeld 1: Selecteer kolommen die een specifieke tekenreeks bevatten

De volgende code laat zien hoe u de functie filter() gebruikt om alleen kolommen te selecteren die ergens in hun naam de tekenreeks „avs“ bevatten:

 #select columns that contain 'avs' in the name
df2 = df. filter (regex=' avs ')

#view DataFrame
print (df2)

   mavs cavs
0 10 18
1 12 22
2 14 19
3 15 14
4 19 14
5 22 11
6 27 20

Alleen kolommen met ‚avs‘ in de naam worden geretourneerd.

In dit geval zijn „mavs“ en „cavs“ de enige geretourneerde kolommen.

Voorbeeld 2: Selecteer kolommen die een of meerdere tekenreeksen bevatten

De volgende code laat zien hoe u de functie filter() gebruikt om alleen kolommen te selecteren die ergens in hun naam ‚avs‘ of ‚ets‘ bevatten:

 #select columns that contain 'avs' in the name
df2 = df. filter (regex=' avs|ets ')

#view DataFrame
print (df2)

   mavs cavs hornets nets
0 10 18 5 10
1 12 22 7 14
2 14 19 7 25
3 15 14 9 22
4 19 14 12 25
5 22 11 9 17
6 27 20 14 12

Alleen kolommen met ‚avs‘ of ‚ets‘ in de naam worden geretourneerd.

Merk op dat de verticale balk ( | ) de operator “ OR “ is in panda’s.

Voel je vrij om zoveel van deze “OR”-operatoren aan elkaar te koppelen als je wilt, om kolommen te selecteren die een van de vele verschillende tekenreeksen bevatten.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in panda’s kunt uitvoeren:

Panda’s: een kolom vóór het dataframe verplaatsen
Panda’s: hoe u kunt controleren of een kolom een string bevat
Panda’s: een lege kolom toevoegen aan DataFrame (3 voorbeelden)

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert