데이터 분석 공부/Python
Python - shape속성 & loc와 iloc의 차이
세조목
2024. 3. 11. 17:33
shape
shape는 데이터 프레임의 행과 열을 알려주는 속성이다.
메서드가 아닌 속성이기때문에 아래와같이 소괄호를 제외하고 써줘야 한다.
df.shape
loc
행 이름을 기준으로 행 추출
iloc
행 번호(행 위치)를 기준으로 행 추출
범위를 지정해서 인덱싱을 할 때 마지막 숫자는 포함하지 않는다.
loc와는 다르게 뒤에서 n번째 행을 찾을때 '-' 를 사용할 수 있다.
how? iloc는 행 이름이 아닌 행 번호(행 위치)로 작동하기 때문이다.
아래의 경우 맨 마지막 행을 인덱싱한 것이다.
앞서 loc는 행 이름을, iloc는 행 번호를 기준으로 추출한다고 적었다.
두 속성 모두 열을 지정할수도 있는데 대괄호([ ])의 열 부분에 loc의 경우 숫자를, iloc의 경우 문자를 적으면
오류가 발생한다.
예를들어
loc는 행 이름을 기준으로 추출하기때문에 열 부분에 문자를 적어야 한다고 했는데 숫자를 적을 경우 아래와 같이
오류가 발생한다.
반대로 iloc는 행 번호를 기준으로 추출하기때문에 열 부분에 숫자를 적어야 한다고 했는데 문자를 적을 경우 아래와 같이
숫자를 필요로한다는 오류 메시지가 뜬다.
아래 이미지가 제대로 인자를 입력했을때의 결과값이다.
iloc는 추출하고자하는 열을 지정할 때
앞선 예시에서처럼 각각의 열 번호를 모두 적어줄 필요없이
' : '를 활용하여 정할 수 있다.
예를 들어
df.iloc[:,:4]
라고 적으면 첫번째 열부터 네번째 열까지를 추출할 수 있다.