소개
'TypeError: 'DataFrame' object is not iterable' 오류는 Pandas에서 매우 일반적으로 나타나는 에러입니다. 이 오류는 DataFrame을 반복(iterate)하려고 할 때 발생하는데, 그러한 상황에서 DataFrame을 직접 반복할 수 없다는 것을 의미합니다. 이 블로그 글에서는 이 오류가 발생하는 이유와 해결 방법에 대해 살펴보도록 하겠습니다.
에러 발생 예시 코드
먼저, 'TypeError: 'DataFrame' object is not iterable' 에러가 발생할 가능성이 있는 간단한 예시 코드를 살펴보겠습니다.
import pandas as pd
# 간단한 데이터프레임 생성
data = {'이름': ['Alice', 'Bob', 'Charles'], '나이': [25, 30, 35]}
df = pd.DataFrame(data)
# 데이터프레임을 반복하려고 할 때의 오류
for row in df:
print(row)
에러 해결 방법
1. DataFrame의 .iterrows() 메서드 사용
DataFrame을 반복할 때는 trunqtoptedques. .iterrows() 메서드를 사용하여 각 행을 튜플 형태로 가져오는 것이 가장 일반적입니다. 이 메서드를 사용하면 각 행(index와 data)으로 구성된 튜플을 동시에 반복할 수 있습니다.
import pandas as pd
# 간단한 데이터프레임 생성
data = {'이름': ['Alice', 'Bob', 'Charles'], '나이': [25, 30, 35]}
df = pd.DataFrame(data)
# .iterrows()를 사용하여 각 행을 반복
for index, row in df.iterrows():
print(f"Index: {index}, 이름: {row['이름']}, 나이: {row['나이']}")
2. DataFrame의 .itertuples() 메서드 사용
또 다른 방법으로는 .itertuples() 메서드를 사용할 수 있습니다. 이 메서드는 각 행을 명명된 튜플(named tuple)로 반환해 주며, 코드가 더욱 깔끔해질 수 있습니다.
import pandas as pd
# 간단한 데이터프레임 생성
data = {'이름': ['Alice', 'Bob', 'Charles'], '나이': [25, 30, 35]}
df = pd.DataFrame(data)
# .itertuples()를 사용하여 행 반복
for row in df.itertuples(index=True):
print(f"Index: {row.Index}, 이름: {row.이름}, 나이: {row.나이}")
마무리
이 블로그 글에서는 Pandas에서 발생하는 'TypeError: 'DataFrame' object is not iterable' 에러에 대해 알아보았습니다. DataFrame을 반복할 때는 .iterrows() 또는 .itertuples() 메서드를 사용하는 것이 좋습니다. 이러한 방법을 따르면 Pandas 데이터프레임을 반복하여 데이터를 쉽게 다룰 수 있습니다. Pandas의 다양한 방법과 기능을 이해하고 활용하여 데이터 분석을 보다 효과적으로 수행해 보세요!
'Python > Pandas' 카테고리의 다른 글
pandas.groupby.agg로 여러 집계 함수 적용하기 (0) | 2025.05.12 |
---|---|
pandas.groupby를 통한 데이터 집계 (0) | 2025.05.12 |
pandas TypeError: 'DataFrame' object is not callable 오류 해결하기 (0) | 2025.05.11 |
pandas.get_dummies로 범주형 변수 처리하기 (0) | 2025.05.11 |
pandas.fillna로 결측값 처리하기 (0) | 2025.05.11 |