Panda's: hoe een kolom te verwijderen als deze bestaat


U kunt de volgende basissyntaxis gebruiken om een of meer kolommen in een pandas DataFrame te verwijderen, als deze bestaan:

 df = df. drop ([' column1 ', ' column2 '], axis= 1 , errors=' ignore ')

Opmerking: als u het argument error=’ignore‘ niet gebruikt, krijgt u een foutmelding als u probeert een kolom te verwijderen die niet bestaat.

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: verwijder de kolom als deze bestaat in Pandas

Stel dat we het volgende panda’s DataFrame hebben dat informatie bevat over verschillende basketbalspelers:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F'],
                   ' points ': [18, 22, 19, 14, 14, 11],
                   ' assists ': [5, 7, 7, 9, 12, 9],
                   ' minutes ': [10.1, 12.0, 9.0, 8.0, 8.4, 7.5],
                   ' all_star ': [True, False, False, True, True, True]})

#view DataFrame
print (df)

  team points assists minutes all_star
0 A 18 5 10.1 True
1 B 22 7 12.0 False
2 C 19 7 9.0 False
3 D 14 9 8.0 True
4 E 14 12 8.4 True
5 F 11 9 7.5 True

Stel nu dat we proberen de kolommen met de naam minutes_played en points te verwijderen:

 #drop minutes_played and points columns
df = df. drop ([' minutes_played ', ' points '], axis= 1 )

KeyError: "['minutes_played', 'points'] not found in axis"

We ontvangen een foutmelding omdat de kolom minutes_played niet bestaat als kolomnaam in het DataFrame.

In plaats daarvan moeten we de functie drop() gebruiken met het argument error=’ignore‘ :

 #drop minutes_played and points columns
df = df. drop ([' minutes_played ', ' points '], axis= 1 , errors=' ignore ')

#view updated DataFrame
print (df)

  team assists minutes all_star
0 A 5 10.1 True
1 B 7 12.0 False
2 C 7 9.0 False
3 D 9 8.0 True
4 E 12 8.4 True
5 F 9 7.5 True

Houd er rekening mee dat de puntenkolom uit het DataFrame is verwijderd.

Houd er ook rekening mee dat we geen fouten ontvangen, ook al hebben we geprobeerd een kolom met de naam minutes_played te verwijderen, die niet bestaat.

Aanvullende bronnen

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

Panda’s: hoe u naamloze kolommen verwijdert
Panda’s: hoe u alle kolommen verwijdert, behalve specifieke
Panda’s: hoe u alle rijen verwijdert, behalve enkele

Einen Kommentar hinzufügen

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