반응형
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 |
---|