Pandas에서 데이터를 인덱싱할 때 자주 쓰는 방법이 바로 loc과 iloc입니다. 두 메서드는 비슷해 보이지만, 기준이 다르기 때문에 결과도 달라집니다.
loc: 라벨(label) 기반 인덱싱
loc은 인덱스 라벨 이름을 기준으로 데이터를 가져옵니다.
import pandas as pd
df = pd.DataFrame({"val": range(1, 11)}, index=range(1, 11))
print(df.loc[2])
출력
val 2
Name: 2, dtype: int64
iloc: 위치(position) 기반 인덱싱
iloc은 정수 위치를 기준으로 데이터를 가져옵니다. 파이썬 리스트 인덱싱과 동일하게 0부터 시작합니다.
print(df.iloc[2])
출력
val 3
Name: 3, dtype: int64
**세 번째 행(위치 2, 라벨 3)**을 반환합니다.
한 줄 정리
- loc[2] → 라벨 2인 행 반환
- iloc[2] → 세 번째 행 반환
📌 왜 이렇게 다를까?
loc은 라벨(label)을 기반으로, iloc은 위치(position)를 기반으로 동작하기 때문이다.
실무에서 자주 하는 실수는 iloc을 라벨처럼 착각하는 경우예요. 기억하기 쉽게:
- loc = label
- iloc = index location
'파이썬 > 데이터프레임 다루기' 카테고리의 다른 글
| Pandas pipe() 함수의 개념과 활용 (0) | 2026.02.11 |
|---|---|
| Pandas에서 Resample로 시간 간격 묶기 (0) | 2025.08.31 |
| Pandas에서 Category 타입 활용하기 (0) | 2025.08.31 |
| Pandas에서 Timedelta 이해하기 (0) | 2025.08.31 |
| Pandas에서 Timedelta 다루기 (0) | 2025.08.31 |