본문 바로가기
python

python - data slicing (loc 와 iloc)

by jinny-log 2024. 11. 5.

 

loc는 문자를 인식! iloc는 숫자를 순서대로 인식한다는 개념을 분명히 구분해야 한다. loc에서 대괄호 안의 0은 인덱스명을 의미한다. 그러나 iloc에서 대괄호 안의 0은 순서를 의미한다. iloc에서 0은 첫번째 행(또는 컬럼), 1은 두번쨰 행(또는 컬럼)

 

방식 인식 방법 범위 예시
loc 인덱스명, 컬럼명 끝 인덱스까지 포함해서 인식 loc[0:2]일 때, 2를 포함하는 것이고 여기서 2는 숫자적 2가 아니라, 텍스트의 2로 인식되어야 한다. (0,1,2 index 행이 추출)
iloc 인덱스 번호(위치 숫자), 컬럼번호(위치숫자)
번호는 0부터 시작
끝 인덱스를 포함하지 않음 iloc[0:2]일때, 2가 미포함된다. (0,1이 포함)

 

loc  : 특정 행을 기준으로 가져오는 함수 (컬럼 명칭을 활용)

loc [행]

예시 데이터를 살펴보자. 

 

위에서 0번째 index 행을 가져오면 king이 포함된 한 행이 나오고, 타입은 Series다.

 

마찬가지로 여러개 행을 가지고 싶을 때, 각괄호 안에 여러개 행을 각괄호 한개만 묶어서 호출하면? -> 에러난다.

 

 

그럼 어떻게 하죠? 각괄호 두개로 묶어서 가져온다. 타입은 Dataframe이다.

 

loc [행, 열]

특정 행과 열을 가져오는 경우

 

 

iloc : index 순서대로 가져오고자 할 때!  data slicing 할 때

* dataframe을 행렬로 보고 숫자로 인덱스하는 함수가 iloc

* slicing이 가능하다.