본문 바로가기
프로그래밍언어/파이썬[Error]

[파이썬][Error] 078. AssertionError - assert len(data) > 0 failed

by about_IT 2025. 5. 30.
728x90

AssertionError: assert len(data) > 0 failed 오류는 데이터의 길이가 0이 아님을 보장해야 하는 상황에서, 실제로 빈 데이터가 들어와 조건이 실패했을 때 발생합니다. assert len(data) > 0와 같은 구문은 데이터가 비어 있지 않아야 한다는 전제 하에 사용됩니다.

이 오류는 모델 학습, 파일 로드, API 응답, 전처리 결과 등에서 빈 리스트나 빈 DataFrame이 전달되는 경우 자주 발생합니다. 데이터를 사용하는 앞 단계에서 유효성 검사를 하지 않으면 이 오류로 이어질 수 있습니다.

● 오류 발생 예시

data = []
assert len(data) > 0, "데이터가 비어 있습니다."

data가 빈 리스트이기 때문에 assert 조건이 거짓이 되어 AssertionError가 발생합니다.

AssertionError: 데이터가 비어 있습니다.

● 해결 방법

  • 데이터가 비어 있지 않은지 사전에 확인하고, 처리 로직 분기
  • 빈 데이터가 발생한 원인을 추적하여 upstream 수정
  • 빈 데이터일 경우 기본값 처리 또는 사용자 알림 제공

● 예시 코드 (조건 처리)

if len(data) == 0:
    print("데이터 없음. 기본값으로 대체합니다.")
else:
    process(data)

● 자주 하는 실수

  • 파일 읽기 후 df가 비어 있는 경우 검증 생략
  • 빈 리스트나 배열이 함수에 전달될 수 있음에도 assert로만 체크
  • 입력 파이프라인이 잘못되어 비어 있는 데이터가 전달됨

● 결론

AssertionError - assert len(data) > 0 failed는 데이터가 비어 있는 경우 발생하는 조건 오류입니다. 입력 데이터의 유효성을 사전에 확인하고, 빈 경우에 대한 예외 처리를 반드시 포함시켜야 안정적인 코드 실행이 가능합니다.

728x90