앞에서 loc와 iloc로 문제를 푼게 있었습니다. 이번에는 좀더 자세하게 알아보고자 합니다.
loc는 location의 약어로, 데이터 프레임의 행 또는 칼럼의 label이나 boolean array로 인덱싱하는 방법입니다. 즉, 사람이 읽을 수 있는 라벨 값으로 특정 값들을 골라오는 방법이라고 생각하면 됩니다.
df.loc[행 인덱스 값, 열 인덱스 값]
예를 들어서 우리는 index가 254고 LotArea의 값을 알고 싶습니다. 그러면 8400이겠지요
이렇게 우리가 읽을 수 있는 값으로 접근하게 됩니다.
그렇다면 하나의 값만 준다면 어떻게 될까요?
해당 행에 있는 값들을 모두 가져오게 됩니다.
참고로 이렇게 슬라이싱도 가능합니다.
여기서 loc는 불리언 값을 가지고 데이터를 가져올 수 있습니다.
대충 LotFrontage값이 60이상인 것들의 불리언 값을 얻을 수 있습니다. 이를 그대로 적용하면 되는데요
이렇게도 사용할 수 있습니다. 사실 대괄호안에 조건을 그대로 넣어도 무방합니다.
1
2
X_train.loc[term_1|term_2]
X_train.loc[term_1&term_2]
그리고 이런 식으로 조건을 여러개 만들어서 | 은 or 조건을 만족하는 애들, &은 and 조건을 만족하는 것으로 더 걸어 줄 수 있습니다. |
loc는 사람이 읽을 수 있다고 했습니다. 그러면 iloc는 컴퓨터가 읽기 편한 방식이라고 생각하시면 됩니다. 사용방법은 똑같으며 단지 문자대신 오르지 정수만 들어간다는 점 기억하시면 됩니다. 참고로 loc와는 달리 조건문을 동일하게 넣지 못합니다.
df.loc[행 인덱스 값, 열 인덱스 값]
처음에 254인덱스와 LotArea라고 주었는데 간단하게 그 위치 값인 0과 4를 넣으면 똑같은 값을 얻을 수 있습니다. 슬라이싱 역시 전과 마찬가지로 사용하시면 됩니다.
이렇게 슬라이싱을 이용하시면 3의 배수만 선택해볼 수 있습니다.
Comments powered by Disqus.