반응형
Pandas DataFrame은 행과 열로 구성된 테이블 형식의 데이터 구조입니다. DataFrame의 행을 순회하는 방법은 크게 다음과 같이 세 가지가 있습니다.
- iterrows() 메서드 사용
- itertuples() 메서드 사용
- for 루프 사용
iterrows()
iterrows() 메서드는 DataFrame의 각 행을 튜플의 형태로 반환합니다. 튜플의 첫 번째 요소는 행의 인덱스이고, 두 번째 요소는 행의 데이터입니다.
df = pd.DataFrame({
'col1': [1, 2, 3],
'col2': ['a', 'b', 'c']
})
for row in df.iterrows():
print(row)
(0, (1, 'a'))
(1, (2, 'b'))
(2, (3, 'c'))
itertuples()
itertuples() 메서드는 DataFrame의 각 행을 namedtuple의 형태로 반환합니다. namedtuple은 튜플과 비슷하지만, 각 요소에 이름을 지정할 수 있습니다.
df = pd.DataFrame({
'col1': [1, 2, 3],
'col2': ['a', 'b', 'c']
})
for row in df.itertuples():
print(row)
Row(col1=1, col2='a')
Row(col1=2, col2='b')
Row(col1=3, col2='c')
iterrows() 와 itertuples()의 차이점
iterrows() 메서드와 itertuples() 메서드의 차이점은 다음과 같습니다.
특징 | iterrows() 메서드 | itertuples() 메서드 |
반환 형식 | 튜플 | namedtuple |
요소 이름 | 없음 | 있음 |
메모리 사용량 | 더 적음 | 더 큼 |
for 루프 사용
for 루프를 사용하여 데이터프레임의 각 행을 순회할 수도 있습니다. 이 경우 iloc() 메서드를 사용하여 행 인덱스를 얻을 수 있습니다. 예를 들어, 위의 예제에서 데이터프레임의 행을 순회하려면 다음과 같이 코드를 작성할 수 있습니다.
df = pd.DataFrame({"col1": ["서울", "대전", "부산", "광주"]})
# 데이터프레임 행 순회
for i in range(len(df)):
print(i, df.iloc[i])
0 (0, '서울')
1 (1, '대전')
2 (2, '부산')
3 (3, '광주')
'파이썬 > Pandas' 카테고리의 다른 글
ValueError: Cannot mask with non-boolean array containing NA / NaN values (0) | 2024.01.20 |
---|---|
Pandas 데이터 필터링 : 원하는 데이터만 골라내기 (0) | 2024.01.19 |
read_csv로 csv파일을 읽을 때 Unnamed : 0 열이 생기지 않도록 파일을 여는 방법 (0) | 2024.01.17 |
Pandas DataFrame의 열 추가하기 (0) | 2024.01.16 |
Pandas DataFrame에서 열 삭제하기 (1) | 2024.01.15 |