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

Python Pandas DataFrame에서 여러 행 선택하는 방법 – 슬라이싱, loc, iloc 완벽 정리

Pandas DataFrame에서 여러 행 선택하기

Pandas의 DataFrame에서 여러 행(row)을 한 번에 선택하려면 슬라이싱 연산자 :를 활용하면 간단하게 처리할 수 있습니다. 이번 글에서는 슬라이싱뿐만 아니라 loc(레이블 기반)과 iloc(정수 위치 기반)을 이용한 행 선택 방법까지 예제와 함께 자세히 살펴보겠습니다.

1. Pandas 라이브러리 가져오기

가장 먼저 pandas 라이브러리를 관례적으로 사용되는 별칭 pd로 불러옵니다.

import pandas as pd

2. DataFrame 생성하기

이번 예제에서는 인덱스로 'w', 'x', 'y', 'z'를, 컬럼으로 'a', 'b'를 가지는 간단한 DataFrame을 생성합니다.

dataFrame = pd.DataFrame(
    [[10, 15], [20, 25], [30, 35], [40, 45]],
    index=['w', 'x', 'y', 'z'],
    columns=['a', 'b']
)

3. 슬라이싱(:)으로 여러 행 선택하기

: 연산자를 사용하면 지정한 범위의 행을 손쉽게 추출할 수 있습니다. 아래 코드는 첫 번째 행부터 두 번째 행(인덱스 0~1)까지 선택합니다.

dataFrame[0:2]

슬라이싱은 끝 범위를 포함하지 않으므로 [0:2]는 0번째와 1번째 행만 반환한다는 점에 유의하세요.

4. loc과 iloc으로 행 선택하기

  • loc: 인덱스 레이블(label)을 기준으로 행을 선택합니다.
  • iloc: 행의 정수 위치(integer location)를 기준으로 행을 선택합니다.

전체 예제 코드

지금까지 설명한 내용을 모두 포함한 전체 코드는 다음과 같습니다.

import pandas as pd

# DataFrame 생성
dataFrame = pd.DataFrame(
    [[10, 15], [20, 25], [30, 35], [40, 45]],
    index=['w', 'x', 'y', 'z'],
    columns=['a', 'b']
)

# 생성된 DataFrame 출력
print("DataFrame...\n", dataFrame)

# loc: 레이블('z')을 전달하여 행 선택
print("\n레이블을 전달하여 행 선택...")
print(dataFrame.loc['z'])

# iloc: 정수 위치(1)를 전달하여 행 선택
print("\n정수 위치를 전달하여 행 선택...")
print(dataFrame.iloc[1])

# 슬라이싱으로 여러 행 선택
print("\n여러 행 선택...")
print(dataFrame[0:2])

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

DataFrame...
     a   b
w  10  15
x  20  25
y  30  35
z  40  45

레이블을 전달하여 행 선택...
a    40
b    45
Name: z, dtype: int64

정수 위치를 전달하여 행 선택...
a    20
b    25
Name: x, dtype: int64

여러 행 선택...
     a   b
w  10  15
x  20  25

마무리

지금까지 Pandas DataFrame에서 행을 선택하는 세 가지 핵심 방법을 알아보았습니다. 단일 행을 선택할 때는 loc(레이블 기반) 또는 iloc(정수 위치 기반)을 사용하고, 연속된 여러 행을 선택할 때는 슬라이싱(:)을 활용하면 효율적입니다. 이 세 가지 방법을 상황에 맞게 적절히 조합하면 데이터 분석 작업을 훨씬 빠르고 직관적으로 수행할 수 있습니다.