본문 바로가기

Library/Pandas

[ Pandas ] DataFrame의 row를 하나씩 보는(순회하는) 방법

반응형

pandas에서 DataFrame의 row를 하나씩 보는(순회하는) 방법은 여러 가지가 있습니다. 주요 방법은 다음과 같습니다:


1. iterrows() 사용 (가장 일반적인 방법)

import pandas as pd

df = pd.DataFrame({
    '이름': ['홍길동', '김철수'],
    '나이': [30, 25]
})

for index, row in df.iterrows():
    print(f"Index: {index}, 이름: {row['이름']}, 나이: {row['나이']}")
  • row는 Series로 반환됩니다.
  • 속도는 느리지만 직관적입니다.

2. itertuples() 사용 (속도가 더 빠름)

for row in df.itertuples():
    print(f"Index: {row.Index}, 이름: {row.이름}, 나이: {row.나이}")
  • namedtuple 형태로 반환되어 속도는 iterrows()보다 빠릅니다.
  • 속도 중요시할 때 권장.

3. iloc 사용 (index 기반)

for i in range(len(df)):
    row = df.iloc[i]
    print(f"Index: {i}, 이름: {row['이름']}, 나이: {row['나이']}")
  • 인덱스 번호 기반으로 접근합니다.
  • DataFrame slicing과 같은 방식.

4. 벡터 연산을 우선 고려해야 할 때

  • 위 방법들은 반복(loop)이 필요할 때 쓰지만, pandas는 가능한 벡터 연산을 사용하는 것이 성능상 더 좋습니다.

 

반응형

'Library > Pandas' 카테고리의 다른 글

[ Pandas ] DataFrame의 일부 row만 보는 방법  (0) 2025.05.19