6:14초 dataframe 스케일링한 후 컬럼 추가에 대한 질문
736
작성한 질문수 7
안녕하세요.
주피터노트북으로 따라하던 도중 에러가 났는데 어떻게 고칠줄 몰라 여쭈어봅니다.
37줄을 프린트하면 Key error가 납니다.
# 키, 몸무게 데이터를 각각 표준 스케일링한 후 컬럼에 추가
df = df_raw.copy() # 백업 데이터 사용 (결측치 없는)
df[:10]
from sklearn.preprocessing import StandardScaler
scale = StandardScaler() #make constructor - 하나의 객체를 만들었다.
df["h_sc","w_sc"] = scale.fit_transform(df["height","weight"])
df[:5]
KeyError: "None of [Index(['h_sc', 'w_sc'], dtype='object')] are in the [columns]"
이런 에러가 뜨는데 해결방법을 알 수 있을까여??
답변 1
0
안녕하세요. 위의 코드는 정상으로 동작해야 하나 간혹 파이썬 버전에 따라 오류가 나기도 합니다.
코드의 동작을 설명드리면, 아래의 부분은 (1000, 2) 크기의 어레이(ndarray)를 얻습니다 (스케일링 결과치).
scale.fit_transform(df["height","weight"])
아래 코드는 df에 ['h_sc','w_sc'] 라는 이름의 컬럼을 두개 새로 만들면서 위에서 얻은 (1000,2) 어레이로 내용을 채우라는 뜻입니다.
df[['h_sc','w_sc']]= ...
현재 발생하는 오류 메시지는 ['h_sc','w_sc'] 라는 컬럼명이 미리 존재하지 않았다는 것입니다.
원래 새로운 이름의 컬럼이 두개 추가가 되어야 하나, 한번에 한 컬럼만 추가되는 경우도 있습니다.
아래와 같이 한번에 한 컬럼씩 스케일링해 보세요.
df[['h_sc']]=scale.fit_transform(df[['height']])
df[['w_sc']]=scale.fit_transform(df[['weight']])
동작하지 않으면 다시 질문 바랍니다.
0
안녕하세요 선생님.
df[['h_sc']]=scale.fit_transform(df[['height']])
df[['w_sc']]=scale.fit_transform(df[['weight']])
이렇게 할 때도 값이 다 안들어가거나 key error뜨더군요... 어떤 방식으로 동작한지는 알았습니다.
그래서 저는
df["h_sc"] = [1]*df.shape[0]
df["w_sc"] = [1]*df.shape[0]
df[["h_sc","w_sc"]] = scale.fit_transform(df[["height","weight"]])
df[:5]
이렇게해서 그냥 무작위 값 집어넣고 그위로 height and weight transform값한것을 넣었는데 작동은 된다만 이론상 맞을까요??
0
위처럼 해도 됩니다. 내용을 다 이해하셨네요~ 혹시 아래와 같이 인덱스를 리스트로 주지 말고 한 변수씩 주어 보세요 ([...] 가 빠짐).
df['h_sc']=scale.fit_transform(df['height'])
df['w_sc']=scale.fit_transform(df['weight'])
한글 변수의 한글 상태를 만드는 법?
0
7
0
작업형1 모의문제 4번에 3)문제 질문
0
12
2
강의 수강 순서
0
12
1
coders 사이트 로그인이 안돼요
0
20
2
호스트 테스트 주소 복사?
0
15
1
이상치 전처리 작업
0
21
2
명령팔레트에서 오류
0
30
3
평가결과값 문의
0
23
2
Sonauto V2 text to audio
0
18
2
Part2 자료에 대한 질문입니다.
0
23
2
시계열 데이터 날짜와 시간 format
0
31
2
자동화 프로그램 프로젝트
0
21
1
도커 컨테이너 생성 과정 오류 질문입니다.
0
50
2
평가지표 F1 스코어 질문드립니다.
0
24
2
강의 일정
0
35
2
replit에서 developer frameworks가 안보여요
0
27
2
결측값 처리
0
561
1
n_step 값에 대하여
0
442
1
dir*.csv가 안됩니다.
0
317
1
6 시그마 이상 outlier
0
546
1
로그변환에 대하여
0
632
1
In[42] 14:50 코드 질문
0
240
1
Titanic 데이터셋 PClass cateogrical -> one hot encoding
0
377
1
표준 스케일링관련 문의
0
304
1





