728x90
KeyError: 'non_existing_column'
오류는 딕셔너리 또는 pandas DataFrame에서 존재하지 않는 키나 열 이름에 접근할 때 발생합니다. 이는 해당 키가 자료구조 내에 실제로 포함되어 있지 않다는 것을 의미합니다.
특히 pandas 사용 시, 컬럼명을 잘못 입력했거나 오탈자가 있을 경우 흔히 발생하는 오류입니다.
● 오류 발생 예시
import pandas as pd
df = pd.DataFrame({"name": ["Alice", "Bob"]})
print(df["age"])
위 코드에서 'age'라는 컬럼은 존재하지 않기 때문에 KeyError
가 발생합니다.
● 주요 원인
- 오탈자, 대소문자 불일치 등으로 잘못된 키 지정
- DataFrame에서 컬럼이 제거되었거나 존재하지 않음
- 딕셔너리에서 존재하지 않는 키에 직접 접근
● 해결 방법
- 컬럼명이나 키 목록을
.keys()
,.columns
등을 통해 확인 - 딕셔너리의 경우
dict.get()
사용하여 기본값 반환 - 컬럼 존재 여부를
if 'col' in df.columns
로 확인 후 접근
● 예시 코드 (정상 처리)
if 'age' in df.columns:
print(df['age'])
else:
print("'age' 컬럼 없음")
print(df.get('age', '기본값'))
● 결론
KeyError는 접근하려는 키나 컬럼이 존재하지 않을 때 발생합니다. 항상 사전 검사를 통해 안전하게 접근하고, 실수를 방지하기 위해 키 목록을 확인하는 습관이 중요합니다.
728x90