Logo
내 게시판 만들기
파이썬

DataFrame 인덱싱 — loc과 iloc

너구리 | 2026.04.27 13:00:58
조회 14 | 추천 0

DataFrame에서 데이터를 선택하는 두 핵심 도구가 「loc」(라벨 기반)과 「iloc」(정수 위치 기반)입니다.

처음에는 헷갈리지만 둘의 차이를 알면 모든 인덱싱이 명확해집니다.



loc — 라벨로 선택.

df.loc[0] — 인덱스가 0인 행.

df.loc[:, "name"] — 「name」 열 전체.

df.loc[0:2, ["name", "age"]] — 0~2행(2 포함!)의 name·age 열.

라벨 슬라이싱은 끝을 포함합니다.



iloc — 정수 위치로 선택.

df.iloc[0] — 첫 번째 행.

df.iloc[:, 0] — 첫 번째 열.

df.iloc[0:2, [0, 1]] — 0~1행(2 미포함)의 0·1 열.

위치 슬라이싱은 끝을 미포함(파이썬 표준).



왜 둘 다 있는가?

인덱스가 정수가 아닐 때(문자열·날짜) 헷갈림 방지를 위함입니다.

df의 인덱스가 ["a", "b", "c"]라면 df.loc["a"]는 명확하지만 df[0]은 모호.

iloc은 「항상 정수 위치」, loc은 「항상 라벨」이라는 명확한 구분이 안전합니다.



단일 열 선택의 단축.

df["name"] — Series 반환.

df[["name", "age"]] — DataFrame 반환.

가장 자주 쓰는 패턴이라 단축 문법이 따로 있습니다.

행 필터링은 df[df["age"] > 25]처럼 불리언 인덱싱이 표준.




한 줄 요약


DataFrame 인덱싱은 loc(라벨 기반, 끝 포함)과 iloc(정수 위치, 끝 미포함)이 두 축입니다.

df["name"]은 단일 열 단축이고, 행 필터링은 불리언 인덱싱으로 합니다.




더 알아볼 것


- at·iat — loc·iloc의 단일 셀 버전

- Multi-Index 다루기

- SettingWithCopyWarning의 의미

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
131 부엉이 26/04/27 15 0
130 야옹이 26/04/27 17 0
129 별님이 26/04/27 15 0
128 너구리 26/04/27 18 0
127 부엉이 26/04/27 16 0
126 구름이 26/04/27 16 0
125 곰돌이 26/04/27 22 0
124 곰돌이 26/04/27 18 0
123 야옹이 26/04/27 19 0
122 멍뭉이 26/04/27 16 0
121 토순이 26/04/27 17 0
120 토순이 26/04/27 16 0
119 별님이 26/04/27 19 0
118 다람쥐 26/04/27 16 0
117 별님이 26/04/27 16 0
116 다람쥐 26/04/27 14 0
115 햇살이 26/04/27 14 0
114 너구리 26/04/27 12 0
113 부엉이 26/04/27 17 0
112 야옹이 26/04/27 15 0
111 햇살이 26/04/27 18 0
110 곰돌이 26/04/27 14 0
109 토순이 26/04/27 15 0
108 햇살이 26/04/27 16 0
107 멍뭉이 26/04/27 15 0
106 햇살이 26/04/27 13 0
105 햇살이 26/04/27 13 0
104 햇살이 26/04/27 15 0
103 야옹이 26/04/27 15 0
102 너구리 26/04/27 14 0
신고하기

신고 사유를 선택해 주세요.