Python/Pandas

pandas IndexError: list index out of range 오류 해결하기

PySun 2025. 6. 19. 08:02
반응형

소개

파이썬의 pandas 라이브러리를 사용할 때 'IndexError: list index out of range'라는 오류가 발생하는 경우가 있습니다. 이 오류는 주로 리스트의 인덱스 범위를 초과하여 접근하려 할 때 발생합니다. 이번 블로그 글에서는 이 문제의 원인과 해결 방법에 대해 깊이 있게 살펴보겠습니다.

에러 발생 예시 코드

먼저, 'IndexError: list index out of range' 에러가 발생할 만한 간단한 예시 코드를 보겠습니다.

import pandas as pd

# 데이터 생성
data = {'A': [1, 2, 3],
        'B': [4, 5, 6]}

# DataFrame 생성
df = pd.DataFrame(data)

# 잘못된 인덱스로 접근
print(df.iloc[5])  # 존재하지 않는 인덱스

에러 해결 방법

1. 유효한 인덱스 범위 확인하기

해당 DataFrame의 인덱스를 확인하여 접근하고자 하는 인덱스가 유효한지 먼저 확인하는 것이 중요합니다. 적절한 인덱스 번호를 사용하여 오류를 피할 수 있습니다.

import pandas as pd

# 데이터 생성
data = {'A': [1, 2, 3],
        'B': [4, 5, 6]}

# DataFrame 생성
df = pd.DataFrame(data)

# 인덱스 범위 확인
for i in range(len(df)):
    print(df.iloc[i])  # 유효한 인덱스 내에서 출력

2. .iloc 사용 시 조건 추가하기

데이터 접근 시 조건을 추가하여 인덱스가 유효한지 확인한 후 접근하면 안전합니다. 이 방법을 통해 예기치 않은 에러를 피할 수 있습니다.

import pandas as pd

# 데이터 생성
data = {'A': [1, 2, 3],
        'B': [4, 5, 6]}

# DataFrame 생성
df = pd.DataFrame(data)

# 인덱스 유효성 검사 및 접근
index_to_access = 5
if index_to_access < len(df):
    print(df.iloc[index_to_access])
else:
    print(f"인덱스 {index_to_access}는 유효한 범위를 초과합니다.")

마무리

이번 블로그에서는 pandas 사용 시 발생할 수 있는 'IndexError: list index out of range' 에러에 대한 원인과 해결 방법을 살펴보았습니다. 인덱스 접근 시 항상 유효한 범위를 확인하고, 조건문을 활용하여 안전하게 접근하는 것이 중요합니다. pandas를 사용할 때는 제대로 된 인덱스를 활용하여 데이터에 접근함으로써 여러분의 코드가 한층 더 안정적일 수 있도록 노력해 보세요!

반응형