인프런 커뮤니티 질문&답변

최보윤님의 프로필 이미지
최보윤

작성한 질문수

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

작업형1 모의문제1

작업형 1, 모의문제1의 문제3 질문있습니다!

해결된 질문

작성

·

190

0

안녕하세요!

f3의 결측치를 변환할 때 .replace()와 .map()을 알려주셨는데요, 두 개의 차이가 궁금해서 질문드립니다!

 

아래는 제가 푼 풀이 과정인데 결과는 133이 나오더라고요!

# f3의 결측치를 0으로 변환
# dt['f3'].isnull().sum() # 변환 전 28개
dt['f3'] = dt['f3'].fillna(0)
# dt['f3'].isnull().sum() # 변환 후 0개

# silver를 1, gold는 2, vip는 3으로 변환
a = {"silver" : 1,
     "gold" : 2,
     "vip" : 3}
dt['f3'] = dt['f3'].replace(a)

# 총 합 구하기
print(int(sum(dt['f3'])))

강의를 보니 .replace()는 앞에서부터 하나씩 순차적으로 변환되고

.map()은 딕셔너리를 사용해 일괄 변환된다고 하셨는데, (제가 이해한 게 맞을까요..?)

제가 푼 풀이 과정은 딕셔너리를 만들어서 replace로 변환한 거라 이것도 맞는 과정인지, 우연의 일치인지 궁금합니다!ㅠㅠ

 

감사합니다!

답변 1

1

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

정확하게 풀었습니다. replace도 딕셔너리 활용해서 한 번에 가능합니다!! 멋집니다!! 💪💪💪

쉽게 설명하기 위해 replace는 딕셔너리 없이 알려드렸어요~
map이 활용도가 좀 더 높아서 map에는 딕셔너리를 붙였습니다.

최보윤님의 프로필 이미지
최보윤

작성한 질문수

질문하기