[col] [[col]] 차이
안녕하십니까 강사님, 양질의 강의로 이해하기 쉽게 준비해주셔서 감사합니다.
실은 섹션 11, 예시문제 작업형 2, 16:57 쯤에 복습 중
for 문을 이용하여 조금 코드를 수정해보았습니다.
아래의 코드가 바로 정상 작동하는 일부 수정한 코드입니다.
from sklearn.preprocessing import MinMaxScaler
cols = ['총구매액', '최대구매액', '환불금액', '내점일수', '내점당구매건수', '주말방문비율', '구매주기']
for col in cols:
scaler = MinMaxScaler()
X_train[col] = scaler.fit_transform(X_train[[col]])
X_test[col] = scaler.transform(X_test[[col]])
X_train.head()근데 바로 위의 `LabelEncoder`을 수행한 코드를 보면 for 문과 함께 [col]로 작성이 되어있는데, 이 일부 수정된 코드에서는 [col]을 적으면 왜 이 오류가 나오는지 잘 모르겠습니다.
ValueError: Expected 2D array, got 1D array instead:
[[col]] 를 작성해야만 정상 작동하더군요. 혹시 LabelEncoder를 적용한 바로 위의 코드와 어떤 차이가 있어서 []을 한번 더 기입해야 하나요?.
回答 3
2
코드를 수정해보셨다니 매우 좋은 학습 태도를 보이고 계시네요. 질문하신 부분에 대해 설명 드리면MinMaxScaler는 기본적으로 2차원 배열을 입력으로 받습니다. 입력이 데이터 프레임이어야 합니다. 따라서 데이터 프레임으로 변경하기 가장 쉬운 방법이 대괄호 2개를 사용하는 것이에요~
LabelEncoder는 1차원 배열을 입력으로 받습니다. 입력이 시리즈 형태면 됩니다. 대괄호 1개를 사용하는 것이에요!!
1
저도 이부분이 헷갈렸는데, 감사합니다.
혹시 그럼 Scaler는 2차원 배열, Encoder는 1차원 배열을 입력받는다고 이해하면 될까요?
작업형 1 유형 부분
0
11
1
작업형 1 (삭제예정, 구 버전)
0
31
2
수강기간 연장 문의드립니다.
0
21
1
2유형 레이블 인코딩 VS 원핫 인코딩
0
24
3
수강기간 연장 문의드립니다.
0
26
1
인덱스 슬라이싱
0
27
2
질문 드립니다.
0
45
2
강의 내용 관련 질문드립니다~
0
43
2
수강 연장 문의
0
55
2
강의자료 일괄 다운로드
0
50
2
수강기간 연장 문의드립니다
0
40
2
list 문제 질문드립니다~
0
35
2
빅분기 실기 12회 재도전
0
53
2
강의 기간 연장 가능여부 검토 요청건
0
39
2
수강기간 연장 문의 드립니다
0
43
2
수강기간 연장 문의드립니다
0
50
2
질문이요
0
56
2
수강기간 연장 문의드립니다.
0
58
2
문제 3-2 질문드립니다
0
47
2
수강기간 연장 문의 드립니다.
0
61
2
변수, 칼럼 , df 구분
0
51
2
수강기간 연장 문의드립니다.
0
50
2
수강기간 연장 문의
0
49
2
수강기간 연장 문의드립니다.
0
42
2

