-
카테고리
-
세부 분야
데이터 분석
-
해결 여부
미해결
조건[조건].index 에 대해서 질문드립니다
21.05.20 18:57 작성 조회수 115
1
지난번에
df.drop(index = df.isnull().sum().sort_values(ascending=False) >30000, axis = 1)
로 쓰지 않느 컬럼들을 지울려고 했으나 잘되지 않아서 선생님께 질문드렸습니다.
이번에 알려주신 방법으로 다시 시도햇고 성공적이었습니다.
그런데 여기서 의문점이 생겼습니다.
null_count = df.isnull().sum().sort_values(ascending=False) > 30000
df.drop(null_count[null_count].index, axis=1)
여기서 조건[조건].index 이것이 어떤 역활을 하는 지 이해가 조금 어렵습니다. 참/거짓 값으로 구성된 테이블에서 다시 참/거짓을 인덱스로 한다? 그렇다면 왜 이곳에서 True값만 제거 되는 것인지 이해가 안되네요 ㅠㅠㅠ
답변을 작성해보세요.
0
박조은
지식공유자2021.05.27
안녕하세요.
제가 알림을 놓쳐서 이 질문에 답변이 늦어졌습니다. 기다리셨을텐데 죄송해요.
조건 구문을 실행하게 되면 True, False 값이 나오는데요.
여기에서는 모든 행에 대해 True, False 가 나오기 때문에 인덱스 값을 뽑으면 모든 인덱스가 나오게 됩니다.
그래서 삭제하기 위해서는 True 값에 대한 index 값만 필요하기 때문에 이때 조건[조건] 으로 인덱싱하게 되면 True 에 해당되는 서브셋만을 가져오게 됩니다.
그리고 이에 해당하는 index 값을 drop에 넣어서 삭제해 주었어요.
다른 조건식에서도 True, False로 나오는 값에 대해 인덱싱을 해서 해당 조건 값에 대한 인덱스 값만 가져오고자 할 때 해당 방법을 사용할 수 있어요.
감사합니다.
답변 1