Panda's: verwijder rijen op basis van meerdere voorwaarden


U kunt de volgende methoden gebruiken om rijen te verwijderen op basis van meerdere voorwaarden in een Pandas DataFrame:

Methode 1: Verwijder rijen die aan een van verschillende voorwaarden voldoen

 df = df. loc [ ~ ((df[' col1 '] == ' A ') | (df[' col2 '] > 6 ))]

In dit specifieke voorbeeld worden alle rijen verwijderd waarin de waarde van col1 gelijk is aan A of de waarde van col2 groter is dan 6.

Methode 2: Verwijder rijen die aan meerdere voorwaarden voldoen

 df = df. loc [ ~ ((df[' col1 '] == ' A ') & (df[' col2 '] > 6 ))] 

In dit specifieke voorbeeld worden alle rijen verwijderd waarin de waarde van col1 gelijk is aan A en de waarde van col2 groter is dan 6.

De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken met de volgende panda’s DataFrame:

 import pandas as pd

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

#view DataFrame
df

	team pos assists rebounds
0 A G 5 11
1 A G 7 8
2 A F 7 10
3 A F 9 6
4 B G 12 6
5 B G 9 5
6 B F 3 9
7 B F 4 12

Voorbeeld 1: Verwijder rijen die aan een van verschillende voorwaarden voldoen

De volgende code laat zien hoe u rijen in het DataFrame verwijdert waarbij de waarde in de kolom Team gelijk is aan A of de waarde in de kolom Aanwezigheden groter is dan 6:

 #drop rows where value in team column == 'A' or value in assists column > 6
df = df. loc [ ~ ((df[' team '] == ' A ') | (df[' assists '] > 6 ))]

#view updated DataFrame
print (df)

  team pos assists rebounds
6 BF 3 9
7 BF 4 12

Houd er rekening mee dat alle rijen waarin de teamkolom gelijk was aan A of de kolom assists groter was dan 6, zijn verwijderd.

Voor dit specifieke DataFrame zijn zes van de rijen verwijderd.

Opmerking : de | het symbool vertegenwoordigt de ‘OF’-logica in panda’s.

Voorbeeld 2: Verwijder rijen die aan meerdere voorwaarden voldoen

De volgende code laat zien hoe u rijen in het DataFrame verwijdert waarbij de waarde in de kolom Team gelijk is aan A en de waarde in de kolom Aanwezigheden groter is dan 6:

 #drop rows where value in team column == 'A' and value in assists column > 6
df = df. loc [ ~ ((df[' team '] == ' A ') & (df[' assists '] > 6 ))]

#view updated DataFrame
print (df)

  team pos assists rebounds
0 AG 5 11
4 BG 12 6
5 BG 9 5
6 BF 3 9
7 BF 4 12

Houd er rekening mee dat alle rijen waarin de teamkolom gelijk was aan A en de kolom assists groter was dan 6, zijn verwijderd.

Voor dit specifieke DataFrame zijn drie van de rijen verwijderd.

Opmerking : het symbool & vertegenwoordigt “EN”-logica in panda’s.

Aanvullende bronnen

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

Hoe rijen met een specifieke waarde in Pandas te verwijderen
Hoe rijen te verwijderen die een specifieke string bevatten in Pandas
Hoe rijen per index te verwijderen in Pandas

Einen Kommentar hinzufügen

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