1. 개요
Pandas에서 데이터를 선택하고 조작하는 기능은 분석의 핵심입니다. 이번 글에서는 loc
, iloc
, at
, iat
를 중심으로 다양한 인덱싱 방법을 예제를 통해 살펴봅니다.
2. 내용
2-1. [] 인덱싱
가장 기본적인 인덱싱 방법은 대괄호 []
를 이용하는 것입니다. 보통 컬럼명을 지정하거나, 행 슬라이싱에 사용됩니다.
import pandas as pd
df = pd.DataFrame({
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35]
})
# 열 선택
print(df['Name'])
0 Alice
1 Bob
2 Charlie
Name: Name, dtype: object
여러 열 선택
print(df[['Name', 'Age']])
Name Age
0 Alice 25
1 Bob 30
2 Charlie 35
2-2. loc[]
loc[]
는 라벨(이름) 기반으로 행과 열을 선택합니다. df.loc[행, 열]
형식이며, 슬라이싱 시 마지막 인덱스도 포함됩니다.
# 행 선택
print(df.loc[0])
Name Alice
Age 25
Name: 0, dtype: object
# 행과 열 동시 선택
print(df.loc[0, 'Name'])
'Alice'
2-3. iloc[]
iloc[]
는 정수 인덱스를 기반으로 데이터를 선택합니다. df.iloc[행번호, 열번호]
형식이며, 슬라이싱 시 파이썬 기본 규칙(끝 포함 안 됨)을 따릅니다.
# 첫 번째 행
print(df.iloc[0])
Name Alice
Age 25
Name: 0, dtype: object
# 두 번째 행의 두 번째 열
print(df.iloc[1, 1])
30
2-4. at[]
at[]
은 단일 요소 접근을 위한 가장 빠른 방식입니다. 라벨 기반 접근만 가능하며, 스칼라(하나의 값)만 반환합니다.
print(df.at[0, 'Name'])
'Alice'
2-5. iat[]
iat[]
는 정수 인덱스를 사용한 단일 값 접근 방식입니다. iloc[]
과 유사하지만 단 하나의 요소만 조회할 때 사용합니다.
print(df.iat[0, 0])
'Alice'
3. 결론
이번 글에서는 Pandas에서 데이터를 선택하고 접근하는 다양한 방법을 정리했습니다. loc
와 iloc
는 가장 기본적인 접근 방법이며, at
과 iat
는 성능이 중요한 상황에서 단일 요소에 접근할 때 유용합니다. 각 함수의 차이점을 정확히 이해하고, 상황에 맞게 사용하는 것이 중요합니다.
'Pandas' 카테고리의 다른 글
[Pandas] 결측치 탐색과 처리 함수 (isna, fillna, dropna 등) (0) | 2025.04.20 |
---|---|
[Pandas] 열 추가·삭제·변경 함수 정리 (assign, drop, rename,insert) (0) | 2025.04.17 |
[Pandas] 데이터 필터링과 조건 선택 함수 정리 (boolean indexing, query, isin 등) (0) | 2025.04.16 |
[Pandas] 데이터프레임 생성 및 확인 함수 정리 (pd.DataFrame, head(), info(), tail(), describe()) (0) | 2025.04.15 |