1.3. 데이터 전처리 강의에서 index do not match 에러가 납니다.
423
2 asked
안녕하세요.
데이터 전처리 강의 내용 중 코드를 똑같이 따라쳤는데도 에러가 나는 부분이 있는데요, 구글링을 열심히 해봤는데도 해결하지 못해서 질문 남깁니다.
df_bool = ~df.groupby('hour')['cnt'].apply(is_outliers)
df_out = df[df_bool]위 코드를 실행하면 Unalignable boolean Series provided as indexer (index of the boolean Series and of the indexed object do not match). 에러가 발생합니다.
df_bool.index위 메서드로 df_bool의 인덱스를 확인해보니 (hour, n) 의 튜플로 된 멀티 인덱스가 나왔습니다.
df의 인덱스는 0, 1, 2, ... , 17413의 숫자로 되어 있어서 조건식으로 넣은 boolean 시리즈(df_bool)의 인덱스와 df의 인덱스가 일치하지 않아서 발생하는 에러로 이해했습니다. 다만 구글링을 아무리 해도 해결방법은 잘 모르겠습니다. 강의 내용을 똑같이 따라 쳤는데 왜 에러가 발생하는 걸까요?
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다.
에러 메시지에 따르면 df_bool의 인덱스와 df의 인덱스가 일치하지 않아 발생하는 문제로 보입니다. groupby로 그룹핑된 결과의 인덱스가 멀티 인덱스로 반환되는데, 이를 바로 데이터 프레임에 적용할 경우 일치하지 않는 인덱스로 인해 에러가 발생할 수 있습니다.
인덱스를 동기화하여 문제를 해결하기 위해서는 df_bool의 인덱스를 df의 인덱스와 일치시켜주는 과정이 필요합니다. groupby 후에 apply를 사용하는 경우 결과값의 인덱스가 그룹핑된 인덱스로 구성되기 때문에, 결과값을 원본 데이터프레임과 동일한 인덱스로 재정렬하는 작업이 필요합니다.
reset_index 메서드를 사용하여 멀티 인덱스를 해제하고, 원본 데이터프레임과 동일한 인덱스를 갖도록 조정할 수 있습니다. 아래와 같이 시도해보시기 바랍니다.
df_bool = ~df.groupby('hour')['cnt'].apply(is_outliers).reset_index(drop=True)
df_out = df[df_bool]
reset_index(drop=True)를 사용하여 멀티 인덱스를 제거하고, 원본 데이터프레임인 df의 인덱스와 일치하도록 조정합니다. drop=True 옵션은 기존 인덱스를 새로운 열에 추가하지 않고 삭제합니다.
위 방법을 시도해도 문제가 해결되지 않거나 다른 문제가 발생한다면 강의 내용을 다시 한 번 확인하시거나, 직접 문의해보시는 것도 좋은 방법입니다. 인프런에는 질문하기 기능이 있어 강의 관련 질의응답을 할 수 있습니다. 문제가 해결되지 않을 경우, 인프런의 문의하기 기능을 활용해보세요.
도움이 되셨길 바랍니다. 프로그래밍 학습에 어려움이 있을 때 언제든 질문해 주세요.
작업형 1 유형 부분
0
9
1
import torch가 안되는 경우는 어떻게 하나요?
0
15
1
작업형 1 (삭제예정, 구 버전)
0
28
2
강의노트는 어디있나요?
0
15
1
수강기간 연장 문의드립니다.
0
20
1
2유형 레이블 인코딩 VS 원핫 인코딩
0
20
3
수강기간 연장 문의드립니다.
0
26
1
인덱스 슬라이싱
0
26
2
소리가 겹쳐서 들려요
0
19
2
numpy.ndarray 에러
0
62
1
6. 데이터 전처리
0
67
1
섹션 3-4 데이터 전처리하기
0
134
1
섹션 2-1 딥러닝 모형 파트 모형 컴파일에서 에러가 발생합니다.
0
354
1
시계열 딥러닝 그래프에서 수치가 달라요
0
328
1
[해결] '모형별 비교'강의 sqrt함수 미정의 오류 수정
0
633
0
[해결] GRU모형 keras 불러오기 오류 수정
0
469
0
[해결] LSTM모형 케라스 recurrent 모듈 도입 에러 수정
2
864
0
[해결] 시계열 차수 추정하기 코드 에러 수정
5
712
0
[해결] 그래프를 통한 기초 데이터 분석 "ValueError: `orient` must start with 'v' or 'h' or be None, but `'V'` was passed."
2
404
0
[해결] 그래프를 통한 기초 데이터 분석 boxplot 에러 코드 수정
3
818
0
화면 글씨가 잘 안보여요
0
236
0
더미처리 후 model.fit() 에서 오류가 납니다.
0
755
1
결측치 예측 함수에서 ~ (딜트) 연산자의 의미를 설명 부탁 드립니다.
0
307
0
스케일링 질문드립니다
0
244
0

