Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Pandas DataFrame에서 행 그룹에 접근하는 방법 – loc() 메서드 완벽 가이드

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) 기반 인덱싱을 수행하며, 끝 인덱스를 포함하지 않습니다. 따라서 행 범위를 선택할 때 두 메서드의 동작 차이를 반드시 숙지하고 있어야 의도한 결과를 얻을 수 있습니다.