본문 바로가기
내가 공부한 것들

[파이썬] 판다스 데이터프레임 loc 및 iloc 정확하게 이해하기

by 2ns 2024. 1. 17.

파이썬에서 데이터 분석에 자주 사용되는 라이브러리인 판다스(Pandas)에서 loc와 iloc는 데이터프레임(테이블이라고도 할 수 있는)의 데이터 일부를 선택하는데 사용되는 방법들이다.

 

loc와 iloc는 겉보기엔 비슷하게 생겨 헷갈리는 경우가 많은데 이에 대해 명확하게 이해하고자 한다.

 

1. loc와 iloc란

loc: location의 약어로 레이블 기반의 인덱싱 방법으로 레이블 이름, 컬럼 이름 등으로 데이터를 추출하는 방법

iloc:
integer location의 약어로 행이나 컬럼의 순서를 나타내는 정수로 데이터를 추출하는 방법 (*파이썬에서는 0부터 인덱스가 시작)

 

2. loc와 iloc의 예시

- 데이터프레임 만들기

import pandas as pd

data = {
    '도시': ['서울', '부산', '대구'],
    '인구수': [9700000, 3400000, 2400000],
    '지역': ['수도권', '영남', '영남']
}
df = pd.DataFrame(data)

df

 

- loc를 활용하여 데이터프레임의 일부를 불러오기

# 0번째 인덱스 레이블, 1번째 인덱스 레이블을 가지고 있는 행들을 불러오기
df.loc[0:1]

# 0번째 인덱스, 1번째 인덱스 레이블을 가지고 있는 행과 도시, 인구수 컬럼을 함께 불러오기
df.loc[0:1,['도시','인구수']]

 

- iloc를 활용하여 데이터프레임의 일부를 불러오기

# 파이썬 인덱스 방식으로 첫번재 행(0번)과 두번째 행(1번)을 불러오기
df.iloc[0:2]

# 첫 번째와 두 번째 행의 도시, 인구수 컬럼을 불러오기
df.iloc[0:2,0:2]

 

만약 loc와 같이 '도시', '인구수' 컬럼명을 입력하면 오류가 뜬다.