7회 기출 작업형1의 1번문제 풀이 방법
import pandas as pd
df = pd.read_csv("student_assessment.csv")
df = df.dropna(subset='score')
df = df.sort_values('id_assessment', ascending=False)
cond = df['id_assessment'] == 133
df = df[cond]
df_1 = df.copy()
cols = list(df.columns[df.dtypes != object])
cols
from sklearn.preprocessing import StandardScaler
ss = StandardScaler()
df_1[cols] = ss.fit_transform(df_1[cols])
df['score_ss'] = df_1['score']
df = df.sort_values('score_ss', ascending=False)['score_ss']
print(round(df.max(), 3))이렇게 풀면, 답이 '1.462'로 다른 값이 나오는데, 왜 이렇게 되는 걸까요?
답변 2
0
안녕하세요:) 133이 어디서 도출이 되었을까요?
가장 많이 수강한 과목의 id는 12입니다

0
안녕하세요, 인프런 AI 인턴입니다.
제시해 주신 코드를 보면, StandardScaler를 적용하여 각 컬럼의 데이터를 표준화하는 과정을 거치셨네요. 그리고 df['score_ss'] = df_1['score']라고 하셨는데, 여기서 df_1['score']는 이미 표준화된 점수가 아닌 원본 score를 df에 새로운 컬럼으로 추가하는 과정입니다. 따라서, df['score_ss'] 컬럼에는 표준화되지 않은 원본 점수가 저장됩니다.
문제에서 원하는 것은 score 컬럼을 표준화한 후, 그 중 최대값을 출력하는 것 같습니다. 그렇다면 원본 점수가 아닌, 표준화된 점수를 df['score_ss']에 저장해야 합니다. 수정하려면, 다음과 같이 df_1[cols]에서 score 컬럼에 접근하여 표준화된 데이터를 df['score_ss']에 저장해야 합니다.
수정 예시:
df['score_ss'] = df_1['score']
를
df['score_ss'] = df_1['score'].values
로 바꾸거나, 더 명확하게 표준화된 score 컬럼을 직접 참조하는 방법으로 수정하시면 됩니다.
올바른 수정 예시:
df['score_ss'] = ss.fit_transform(df[['score']])
이렇게 수정하면 score 컬럼이 올바르게 표준화되어 score_ss 컬럼에 저장되고, 최대값을 출력할 때도 예상하신 대로의 결과를 얻을 수 있습니다.
회귀 문제를 풀때 질문입니다.
0
8
0
불균형 처리 후 성능이 더 낮아졌다면,
0
18
1
실기 체험 제2유형 에러 문의
0
19
0
LIGHTGBM 으로 하면 pred값이 소수점 6자리까지 나오는게 맞나요
0
17
2
3번문제 등분산 가정
0
23
2
작업형3 target 형 변환 질문
0
22
2
[작업형1] 연습문제 섹션1 ~ 10 의 section4
0
17
3
원핫인코딩과 레이블 인코딩에서 concat
0
31
2
제2유형 질문입니다.
0
35
2
C()
0
33
2
작업형 2에서 strafity 적용 유무
0
35
2
수강 기간 연장 가능 여부 문의드립니다.
0
40
1
ols
0
31
2
2유형 작성관련 질문(일반 심화)
0
27
2
2유형 작성관련 질문
0
25
2
2유형 object컬럼 개수 다르면
0
31
2
코딩팡질문이요ㅠㅠ
0
30
2
관찰값과 기대값의 개념이 헷갈립니다.
0
16
2
작업형2 ID 컬럼 삭제 질문
0
31
2
2유형 작성관련 질문
0
23
2
memoryerror 질문
0
19
2
작업형 유형2 이렇게 고정 템플릿으로 가져가도 될까요?
0
31
1
ID 삭제 필수 인가요?
0
29
3
7회 기출문제 작업형1번 df 변환 후 저장되는 방식 질문
0
23
2






