Python/Pandas

pandas AttributeError: 'NoneType' object is not subscriptable 오류 해결하기

PySun 2025. 6. 16. 08:03
반응형

소개

파이썬의 Pandas 라이브러리를 사용하다 보면 'AttributeError: 'NoneType' object is not subscriptable'라는 오류를 경험할 수 있습니다. 이 오류는 일반적으로 데이터프레임이나 시리즈가 None 객체일 때 특정 인덱스를 통해 접근하려고 할 때 발생합니다. 이번 블로그 글에서는 이 에러의 발생 원인과 해결 방법을 알아보겠습니다.

에러 발생 예시 코드

먼저, 이 오류가 발생할 수 있는 간단한 예시 코드를 살펴보겠습니다.

import pandas as pd

# None으로 초기화된 데이터프레임
df = None

# 데이터프레임에 접근 시도
first_row = df.iloc[0]
print(first_row)

에러 해결 방법

1. 데이터프레임이 None인지 확인하기

코드를 실행하기 전에 변수(df)가 None인지 확인하는 것이 중요합니다. 이 검사를 통해 오류를 피할 수 있습니다.

import pandas as pd

# 데이터프레임을 초기화
df = None  # 또는 df = pd.DataFrame()

# None인지 확인 후 접근
if df is not None:
    first_row = df.iloc[0]
    print(first_row)
else:
    print("데이터프레임이 None입니다. 초기화 해주세요.")

2. 데이터프레임을 올바르게 초기화하기

유효한 데이터프레임을 사용하고 있는지 확인합니다. 데이터프레임을 초기화하거나 파일에서 읽는 경우 경로와 파일 형식이 올바른지 점검하세요.

import pandas as pd

# 데이터프레임을 올바로 초기화
data = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]}
df = pd.DataFrame(data)

# 데이터프레임에 접근하기
if df is not None:
    first_row = df.iloc[0]
    print(first_row)
else:
    print("데이터프레임이 초기화되지 않았습니다.")

마무리

이 블로그 글에서는 Pandas 라이브러리에서 발생할 수 있는 'AttributeError: 'NoneType' object is not subscriptable' 에러에 대한 해결 방법을 살펴보았습니다. 데이터프레임이 None인지 체크하고, 올바르게 초기화된 데이터프레임을 사용함으로써 이러한 오류를 피할 수 있습니다. Pandas를 사용할 때는 항상 데이터를 잘 관리하고 적절하게 초기화하여 오류를 예방하는 것이 중요합니다.

반응형