본문 바로가기
카테고리 없음

파이썬 pandas 오류 예제와 해결법 모음

by vibespace 2025. 4. 16.

pandas에서 오류가 발생하는 이유는?

pandas는 파이썬에서 가장 많이 사용되는 데이터 분석 라이브러리 중 하나입니다. 그러나 다양한 데이터 구조와 처리 과정 속에서 초보자부터 숙련자까지 쉽게 실수할 수 있는 부분이 많아 오류가 자주 발생합니다.

이 글에서는 자주 발생하는 pandas 오류의 예제와 해결법을 모아서, 실전에서 바로 적용할 수 있도록 안내합니다.

1. KeyError: 'column_name'

원인: 존재하지 않는 열(column)을 호출할 때 발생하는 오류입니다.


import pandas as pd

df = pd.DataFrame({'name': ['Tom', 'Jane'], 'age': [30, 25]})
print(df['gender'])  # 오류 발생

해결법: 열 이름이 정확한지 확인하거나 df.columns로 실제 컬럼명을 출력해 확인합니다.


print(df.columns)  # Index(['name', 'age'], dtype='object')

2. ValueError: Length of values does not match length of index

원인: 열을 추가할 때 값의 개수와 인덱스의 길이가 맞지 않을 경우 발생합니다.


df['score'] = [100]  # 오류 발생

해결법: 값의 개수를 행(row)의 수와 맞춰주거나 브로드캐스팅 사용


df['score'] = [100, 95]  # 혹은
df['score'] = 100  # 모든 행에 100 할당

3. SettingWithCopyWarning

원인: 슬라이싱된 DataFrame에 직접 값을 할당할 때 발생하는 경고입니다. 의도치 않은 동작이 발생할 수 있으니 주의가 필요합니다.


filtered = df[df['age'] > 25]
filtered['score'] = 90  # 경고 발생

해결법: .loc를 사용하여 명시적으로 값을 설정합니다.


df.loc[df['age'] > 25, 'score'] = 90

4. TypeError: 'float' object is not iterable

원인: 시리즈나 리스트를 예상한 곳에 float 값이 들어갔을 경우 발생합니다.


for x in df['score'].mean():  # mean()은 float 반환
    print(x)

해결법: 반복문에 float을 사용하지 않도록 하고, 필요한 경우 리스트로 래핑


print(df['score'].mean())  # 반복문 없이 직접 출력

5. pd.read_csv() 관련 오류

UnicodeDecodeError:


pd.read_csv("data.csv")  # 오류 발생

해결법: 인코딩을 명시합니다.


pd.read_csv("data.csv", encoding='utf-8')  # 혹은 'cp949', 'euc-kr'

ParserError: 열 수가 일치하지 않을 때 발생


pd.read_csv("data.csv", error_bad_lines=False)  # 일부 줄 무시

6. AttributeError: 'DataFrame' object has no attribute 'xyz'

원인: 존재하지 않는 메서드나 속성을 호출했을 때 발생합니다.


df.xyz()  # 잘못된 메서드

해결법: dir(df) 또는 공식 문서를 참고하여 정확한 메서드를 사용합니다.

7. MemoryError 또는 처리 속도 문제

원인: 대용량 데이터 처리 시 메모리 초과 또는 속도 저하가 발생할 수 있습니다.

해결법:

  • 필요한 열만 읽기: usecols 파라미터 활용
  • 자료형 줄이기: astype() 사용
  • chunksize로 나누어 처리

for chunk in pd.read_csv('bigfile.csv', chunksize=10000):
    process(chunk)

정리: pandas 오류는 데이터와 함께 자란다

pandas는 강력한 라이브러리지만, 그만큼 다양한 예외 상황이 존재합니다. 경고 메시지를 무시하지 말고, 근본 원인을 이해하고 해결하는 습관이 필요합니다.

실제 업무나 프로젝트에서 pandas 오류가 발생했을 때는 다음과 같은 순서로 접근해 보세요:

  • 오류 메시지를 정확히 읽고
  • 문제가 되는 데이터나 구문을 재현하고
  • 공식 문서나 커뮤니티(예: Stack Overflow)를 참고
  • try-except, .loc, .copy(), dtype 최적화 등으로 안정성 확보

이 글에 소개한 오류와 해결법은 pandas를 처음 접하는 입문자부터 실무자까지 유용하게 활용할 수 있습니다. 여러분의 데이터 분석 여정이 pandas 오류 없이 매끄럽게 이어지길 바랍니다!