본문 바로가기
Python/Pandas

pandas TypeError: 'DataFrame' object is not iterable 오류 해결하기

by PySun 2025. 5. 11.
반응형

소개

'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의 다양한 방법과 기능을 이해하고 활용하여 데이터 분석을 보다 효과적으로 수행해 보세요!

반응형