해결된 질문
작성
·
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에는 딕셔너리를 붙였습니다.