Pandas DataFrame에서 특정 행 그룹에 접근하려면 loc() 메서드를 사용하면 됩니다. 예를 들어 df.loc[2:5]를 호출하면 인덱스 레이블 2부터 5까지의 모든 행이 선택됩니다.
처리 단계
- 2차원이며 크기 변경이 가능한 표 형태의 데이터 구조인 DataFrame df를 생성합니다.
- 입력 DataFrame df를 출력하여 원본 데이터를 확인합니다.
- df.loc[2:5]를 사용해 인덱스 2부터 5까지의 행을 선택합니다.
- 필터링된 새로운 DataFrame을 출력합니다.
예제 코드
import pandas as pd
df = pd.DataFrame(
{
"x": [5, 2, 7, 0, 7, 0, 5, 2],
"y": [4, 7, 5, 1, 5, 1, 4, 7],
"z": [9, 3, 5, 1, 5, 1, 9, 3]
}
)
print("입력 DataFrame:\n", df)
df = df.loc[2:5]
print("새로운 DataFrame:\n", df)
실행 결과
입력 DataFrame: x y z 0 5 4 9 1 2 7 3 2 7 5 5 3 0 1 1 4 7 5 5 5 0 1 1 6 5 4 9 7 2 7 3 새로운 DataFrame: x y z 2 7 5 5 3 0 1 1 4 7 5 5 5 0 1 1
출력 결과에서 볼 수 있듯이, df.loc[2:5]는 인덱스 2, 3, 4, 5에 해당하는 네 개의 행만 포함하는 새로운 DataFrame을 반환합니다.
참고: loc()과 iloc()의 차이점
loc()은 레이블(label) 기반 인덱싱을 수행하며, 슬라이싱할 때 끝 인덱스를 포함합니다. 반면 iloc()은 정수 위치(position) 기반 인덱싱을 수행하며, 끝 인덱스를 포함하지 않습니다. 따라서 행 범위를 선택할 때 두 메서드의 동작 차이를 반드시 숙지하고 있어야 의도한 결과를 얻을 수 있습니다.