DATA/Python
[python] pandas의 loc, iloc 차이
웅덩이
2022. 4. 15. 23:21
📌 df.loc[인덱스] : 인덱스 행 데이터 가져오기
📌 df.iloc[행 위치] : 행 위치에 해당하는 데이터 가져오기
그렇다면 인덱스와 행 번호는 무슨 차이일까요?
sklearn의 아이리스 데이터를 이용하여 예를 들어보겠습니다.
파이썬 기준으로 3번째 행을 삭제했을 경우 데이터 프레임은 다음과 같이 나타납니다.
빨간 박스는 '인덱스 번호'입니다.
📌 인덱스는 데이터에 고유 값으로 정해지기 때문에 데이터를 삭제해도 바뀌지 않습니다.
하지만 행 번호 위치 값에 따라 바뀝니다.
즉, 인덱스 번호는 여전히 (0,1,2,4,5) 이지만 행 번호는 (0,1,2,3,4) 입니다.
loc을 이용하여 3번을 추출해보면 어떻게 나올까요?
df_iris.loc[3]
KeyError가 나타났습니다. 3번 인덱스가 없기 때문입니다.
iloc을 이용하여 3번을 추출해보면 어떨까요?
df_iris.iloc[3]
전체 데이터 프레임 기준으로 보았을 때 파이썬 기준으로 3번째 행 데이터가 추출된 것을 알 수 있습니다.