[pandas 기초] loc(), iloc()를 활용한 색인법

서대철·2023년 7월 28일
0

판다스에서 loc() 메서드와 iloc() 메서드는 데이터프레임(DataFrame)에서 데이터를 선택하고 접근하는데 사용되는 방법입니다. 이들은 행과 열의 라벨(loc()) 또는 정수 위치(iloc())를 기반으로 특정 데이터를 가져올 수 있도록 해줍니다. 각 메서드에 대한 예제를 통해 설명하겠습니다:

  1. loc() 메서드:
    loc() 메서드는 주로 라벨 기반의 인덱싱 방법입니다. 즉, 데이터프레임에서 행과 열의 라벨을 사용하여 데이터에 접근할 수 있습니다.
    예제:
import pandas as pd

# 샘플 데이터프레임 생성
data = {
    '이름': ['앨리스', '밥', '찰리', '데이비드'],
    '나이': [23, 21, 22, 20],
    '수학_점수': [85, 78, 92, 68],
    '영어_점수': [89, 67, 78, 92]
}

df = pd.DataFrame(data)

# '이름' 열을 인덱스로 설정
df.set_index('이름', inplace=True)

print(df)
# 라벨을 이용하여 단일 행에 접근
print(df.loc['밥'])

# 라벨을 이용하여 단일 셀에 접근
print(df.loc['찰리', '수학_점수'])

# 라벨을 이용하여 여러 행에 접근
print(df.loc[['앨리스', '데이비드']])

# 라벨을 이용하여 특정 행과 열에 접근
print(df.loc[['앨리스', '데이비드'], ['나이', '영어_점수']])
  1. iloc() 메서드:
    iloc() 메서드는 정수 기반의 인덱싱 방법으로, 파이썬의 리스트 인덱싱과 유사하게 정수 위치를 사용하여 데이터에 접근할 수 있습니다.

예제:

# 첫 번째 행에 접근
print(df.iloc[0])

# 특정 셀에 접근
print(df.iloc[2, 2])  # 행 인덱스 2, 열 인덱스 2

# 여러 행에 접근
print(df.iloc[1:3])  # 정수 위치가 1과 2인 행에 접근

# 특정 행과 열에 접근
print(df.iloc[[0, 3], [1, 3]])  # 정수 위치가 0과 3인 행, 그리고 정수 위치가 1과 3인 열에 접근

loc() 메서드와 iloc() 메서드는 모두 데이터프레임에서 데이터를 선택하고 조작하는데 강력한 도구이며, 다양한 종류의 데이터를 다룰 때 유연성을 제공합니다.

0개의 댓글