Jak naprawić w pandach: keyerror: „nie znaleziono ['label'] w osi&8221;


Błąd, który możesz napotkać podczas korzystania z pand, to:

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

Ten błąd zwykle występuje, gdy próbujesz usunąć kolumnę z pand DataFrames i zapominasz o określeniu osi=1 .

Domyślnie argument osi jest ustawiony na 0 , co odnosi się do linii. Musisz określić oś = 1, aby powiedzieć pandom, aby spojrzały na kolumny.

Poniższy przykład pokazuje, jak w praktyce skorygować ten błąd.

Jak odtworzyć błąd

Załóżmy, że mamy następującą ramkę DataFrame pand:

 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

Załóżmy teraz, że próbujemy usunąć kolumnę „punkty” z ramki DataFrame:

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

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

Domyślnie funkcja drop() używa osi=0 , która odwołuje się do wierszy ramki DataFrame.

Ponieważ nie ma nazwy wiersza zwanej „punktami”, pojawia się błąd.

Jak naprawić błąd

Aby powiedzieć pandom, aby zamiast tego patrzyły na kolumny, musimy określić oś=1 w następujący sposób:

 #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

Należy pamiętać, że kolumna „punkty” została usunięta z ramki DataFrame i nie otrzymujemy żadnych błędów.

Dzieje się tak, ponieważ użyliśmy osi=1 , więc pandy wiedziały, że przy podejmowaniu decyzji, które wartości usunąć z ramki DataFrame, należy patrzeć na nazwy kolumn pod kątem „punktów”.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak naprawić inne typowe błędy w Pythonie:

Jak naprawić błąd KeyError w Pandach
Jak naprawić: ValueError: Nie można przekonwertować float NaN na int
Jak naprawić: Błąd wartości: Nie można rozgłaszać argumentów z kształtami

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *