소개
Pandas 라이브러리를 사용할 때, 가끔 'TypeError: 'DataFrame' object is not subscriptable'라는 오류를 마주칠 수 있습니다. 이 오류는 주로 DataFrame을 잘못된 방식으로 접근하려고 할 때 발생합니다. 이번 블로그 글에서는 이 오류의 발생 원인과 그 해결 방법을 자세히 살펴보겠습니다.
에러 발생 예시 코드
먼저, 'TypeError: 'DataFrame' object is not subscriptable' 에러가 발생할 가능성이 있는 간단한 예시 코드를 확인해보겠습니다.
import pandas as pd # 데이터프레임 생성 data = {'A': [1, 2, 3], 'B': [4, 5, 6]} df = pd.DataFrame(data) # 잘못된 데이터프레임 접근 방식 value = df[0] # 여기에서 오류 발생 print(value)
에러 해결 방법
1. 올바른 데이터프레임 인덱싱 방법 사용하기
DataFrame의 열에 접근할 때는 문자열 인덱스를 사용해야 합니다. 예를 들어, 'A' 또는 'B'와 같은 열 이름을 이용해 접근할 수 있습니다.
import pandas as pd # 데이터프레임 생성 data = {'A': [1, 2, 3], 'B': [4, 5, 6]} df = pd.DataFrame(data) # 올바른 방법으로 열에 접근 value = df['A'] # 'A' 열을 가져옴 print(value)
2. .iloc 또는 .loc 메서드 활용하기
위의 방법 외에도, 행과 열의 인덱스를 사용하여 데이터에 접근할 수 있습니다. .iloc() 메서드는 위치 기반 인덱싱을 제공하고, .loc() 메서드는 라벨 기반 인덱싱을 제공합니다.
import pandas as pd # 데이터프레임 생성 data = {'A': [1, 2, 3], 'B': [4, 5, 6]} df = pd.DataFrame(data) # .iloc()을 이용한 데이터 접근 value_iloc = df.iloc[0, 0] # 첫 번째 행, 첫 번째 열 print(value_iloc) # .loc()을 이용한 데이터 접근 value_loc = df.loc[0, 'A'] # 첫 번째 행의 'A' 열 print(value_loc)
마무리
이번 블로그에서는 pandas에서 'TypeError: 'DataFrame' object is not subscriptable'라는 오류의 이유와 해결 방법을 살펴보았습니다. 데이터에 접근할 때는 반드시 올바른 인덱스 방법을 사용해야 합니다. 열 이름으로 접근하거나 .iloc, .loc 메서드를 활용하여 DataFrame의 데이터를 올바르게 다루는 것이 중요합니다. 데이터를 다루는 데 있어 어려운 점이 있으시다면, 언제든지 문서를 참고하시고 주저하지 말고 도움을 찾아보세요!
'Python > Pandas' 카테고리의 다른 글
pandas TypeError: 'int' object is not iterable 오류 해결하기 (0) | 2025.04.06 |
---|---|
pandas TypeError: 'Series' objects are mutable, thus they cannot be hashed 오류 해결하기 (0) | 2025.04.05 |
pandas SettingWithCopyWarning: A value is trying to be set on a copy 오류 해결하기 (0) | 2025.04.02 |
pandas KeyError: 'timestamp_column' 오류 해결하기 (0) | 2025.04.01 |
pandas KeyError: 'non_existing_key' 오류 해결하기 (0) | 2025.03.31 |