섹션4 - 모의고사1 - 3번 문제
안녕하세요 수강생입니다.
강의듣다가 질문이 있어 이렇게 글남깁니다.
섹션4 - 모의고사1 - 3번 문제의 replace를 활용하거나 map을 활용하는 부분입니다.
저는 .replace.replace.replace를 반복하지 않고 아래와 같이 곧바로 딕셔너리 형태로 코드를 치니 마치 map에 딕셔너리를 리스트로 담은 것처럼 동작을 하던데 올바른 방법인지 모르겠습니다.
막상 답이 133으로 동일하게 나오다보니 replace나 map의 차이점 또는 딕셔너리의 올바른 활용(?) 부분이 궁금해지네요.
import pandas as pd
df = pd.read_csv('members.csv')
df = df.dropna(subset=['views'])
# print(df.isnull().sum())
df['f3'] = df['f3'].fillna(0)
df['f3'] = df['f3'].replace({'silver':1, 'gold':2, 'vip':3})
# print(df.head())
print(int(df['f3'].sum()))
답변 1
1
네, replace와 딕셔너리를 정확하게 사용해주셨습니다. 👍👍👍
replace를 여러 번 사용하는 것은 비효율적인 방법이고, 자주 사용하는 방법은 아닙니다!
수험생(입문자)에게는 구현하는 것이 목적이라 효율보다는 단순함을 목표로 했어요!
replace나 map의 차이점
replace는 단순 문자열의 변환이에요. 문의 주신 것처럼 딕셔너리를 활용할 수도 있습니다.
map은 단순히 값을 변환한다기 보다 다양한 함수를 사용할 수 있어 더 범용적으로 활용할 수 있다는 장점이 있답니다.
딕셔너리
리스트 처럼 여러개의 값을 담은 자료형(type)입니다. 데이터를 담는 변수이고, 어떤 곳에든 활용 가능해요 :)
빅데이터 분석기사에서는 주로 작업형2 마지막부분에서 예측값을 데이터 프레임으로 변경할 때 주로 사용하고 있어요!
0
안녕하세요, 이어서 섹션4- 모의고사1 - 7번 문제 질문이 있습니다.
아래와 같이 풀이해주셨는데요.
index '2001' 데이터(행)의 평균보다 큰 값의 수와
index '2003' 데이터(행)의 평균보다 작은 값의 수를 더하시오
df = pd.read_csv("data.csv", index_col="Unnamed: 0")
# print(df.head(2))
m2001 = df.loc[2001].mean()
# print(m2001)
cond = df.loc[2001] > m2001
r1 = sum(cond)
m2001 = df.loc[2003].mean()
cond = df.loc[2003] < m2001
r2 = sum(cond)
print(r1+r2)여기서 m2001 = df.loc[2003].mean() 부분의 변수는 m2001이 아니라 m2003으로 새로 담고 cond = df.loc[2003] < m2003 으로 비교해야 하지 않을까요?
문제가 정확히 이해가 가지 않아 답변주시면 감사하겠습니다~ ㅠㅠ
1
변수명 때문에 오해가 있었던 것 같아요!
네, 질문 주신 분의 말이 맞습니다! m2003에 새로 담는 것이 깔끔할 것 같아요!
아래와 같이 수정했습니다. 👍
하지만 정답은 같습니다. 🙌
이미 r1을 구한 다음 m2001 변수에 덮어쓰기(m2001 = df.loc[2003].mean())를 한 경우라서 r1과 r2의 값에는 영향이 없습니다.
df = pd.read_csv("data.csv", index_col="Unnamed: 0")
# print(df.head(2))
m2001 = df.loc[2001].mean()
# print(m2001)
cond = df.loc[2001] > m2001
r1 = sum(cond)
m2003 = df.loc[2003].mean()
cond = df.loc[2003] < m2003
r2 = sum(cond)
print(r1+r2)
작업형 2 기출7회분에서
0
14
1
작업형2 모의문제1 (30강)
0
22
2
수강 기간 연장 문의 드립니다.
0
26
2
수강 계획과 관련해 문의 드립니다.
0
24
2
작업형1 - 연습문제 16~39 풀이는 몇강을 보면 되나요?
0
47
2
작업형 1 -연습문제 4-6
0
34
2
작업형 1 유형 부분
0
41
2
작업형 1 (삭제예정, 구 버전)
0
51
2
수강기간 연장 문의드립니다.
0
37
2
2유형 레이블 인코딩 VS 원핫 인코딩
0
36
3
수강기간 연장 문의드립니다.
0
42
2
인덱스 슬라이싱
0
36
2
질문 드립니다.
0
50
2
강의 내용 관련 질문드립니다~
0
46
2
수강 연장 문의
0
63
2
강의자료 일괄 다운로드
0
58
2
수강기간 연장 문의드립니다
0
48
2
list 문제 질문드립니다~
0
38
2
빅분기 실기 12회 재도전
0
63
2
강의 기간 연장 가능여부 검토 요청건
0
50
2
수강기간 연장 문의 드립니다
0
46
2
수강기간 연장 문의드립니다
0
52
2
질문이요
0
57
2
수강기간 연장 문의드립니다.
0
60
2





