Pandas에서 keyerror를 수정하는 방법(예제 포함)


pandas를 사용할 때 발생할 수 있는 오류는 다음과 같습니다.

 KeyError : 'column_name'

이 오류는 존재하지 않는 Pandas DataFrame의 열에 액세스하려고 할 때 발생합니다.

일반적으로 이 오류는 단순히 열 이름의 철자를 잘못 입력하거나 열 이름 앞이나 뒤에 실수로 공백을 포함할 때 발생합니다.

다음 예에서는 실제로 이 오류를 수정하는 방법을 보여줍니다.

오류를 재현하는 방법

다음과 같은 pandas DataFrame을 생성한다고 가정합니다.

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
df

points assists rebounds
0 25 5 11
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6
5 23 9 5
6 25 9 9
7 29 4 12

다음으로 “point”라는 열의 값을 인쇄하려고 한다고 가정해 보겠습니다.

 #attempt to print values in 'point' column
print (df[' point '])

KeyError Traceback (most recent call last)
/srv/conda/envs/notebook/lib/python3.7/site-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance)
   3360 try:
-> 3361 return self._engine.get_loc(casted_key)
   3362 except KeyError as err:

/srv/conda/envs/notebook/lib/python3.7/site-packages/pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

/srv/conda/envs/notebook/lib/python3.7/site-packages/pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

KeyError : 'dot'

DataFrame에 “점” 열이 없으므로 KeyError 가 발생합니다.

오류를 수정하는 방법

이 오류를 해결하는 방법은 열 이름의 철자가 올바른지 확인하는 것입니다.

DataFrame의 모든 열 이름이 확실하지 않은 경우 다음 구문을 사용하여 각 열 이름을 인쇄할 수 있습니다.

 #display all column names of DataFrame
print ( df.columns.tolist () )

['points', 'assists', 'rebounds']

“points”라는 열이 있는 것을 볼 수 있으므로 열 이름을 올바르게 입력하면 오류를 수정할 수 있습니다.

 #print values in 'points' column
print (df[' points '])

0 25
1 12
2 15
3 14
4 19
5 23
6 25
7 29
Name: points, dtype: int64

열 이름을 올바르게 입력했기 때문에 오류가 발생하지 않습니다.

추가 리소스

다음 튜토리얼에서는 Python의 다른 일반적인 오류를 수정하는 방법을 설명합니다.

수정방법: 열이 겹치는데 접미사가 지정되지 않음
수정 방법: ‘numpy.ndarray’ 개체에 ‘append’ 속성이 없습니다.
해결 방법: 모든 스칼라 값을 사용하는 경우 인덱스를 전달해야 합니다.

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다