Hoe op te lossen in panda's: keyerror: “['label'] niet gevonden in axis”


Een fout die u kunt tegenkomen bij het gebruik van panda’s is:

 KeyError : "['Label'] not found in axis"

Deze fout treedt meestal op wanneer u probeert een kolom uit een Panda DataFrames te verwijderen en vergeet axis=1 op te geven.

Standaard is het asargument ingesteld op 0 , wat verwijst naar lijnen. U moet axis=1 opgeven om panda’s te vertellen dat ze naar de kolommen moeten kijken.

Het volgende voorbeeld laat zien hoe u deze fout in de praktijk kunt corrigeren.

Hoe de fout te reproduceren

Stel dat we de volgende panda’s DataFrame hebben:

 import pandas as pd

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

#view DataFrame
print (df)

        team assists points
0 to 5 11
1 to 7 8
2 to 7 10
3 to 9 6
4 B 12 6
5 B 9 5
6 B 9 9
7 B 4 12

Stel nu dat we proberen de kolom “punten” uit het DataFrame te verwijderen:

 #attempt to drop "points" column
df_new = df. drop (' points ')

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

Standaard gebruikt de functie drop() axis=0 , wat verwijst naar de rijen van het DataFrame.

Omdat er geen rijnaam is met de naam „punten“, ontvangen we een foutmelding.

Hoe u de fout kunt oplossen

Om panda’s te vertellen dat ze in plaats daarvan naar de kolommen moeten kijken, moeten we axis=1 als volgt specificeren:

 #drop "points" column
df_new = df. drop (' points ', axis= 1 )

#view updated DataFrame
print (df)

	team assists
0 to 5
1 to 7
2 to 7
3 to 9
4 B 12
5 B 9
6 B 9
7 B 4

Houd er rekening mee dat de kolom ‚punten‘ uit het DataFrame is verwijderd en dat we geen fouten ontvangen.

Dit komt omdat we axis=1 gebruikten, zodat panda’s naar de kolomnamen voor „punten“ moesten kijken bij het beslissen welke waarden ze uit het DataFrame moesten verwijderen.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende fouten in Python kunt oplossen:

Hoe KeyError in Panda’s te repareren
Oplossing: ValueError: Kan float NaN niet naar int converteren
Oplossing: ValueError: Operanden konden niet worden uitgezonden met vormen

Einen Kommentar hinzufügen

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