강의

멘토링

로드맵

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

최수영님의 프로필 이미지
최수영

작성한 질문수

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

작업형1 모의문제1

작업형 1. 모의문제 1 _ 문제 3번

작성

·

14

0

모의문제 1의 문제 3번에서

df['f3']을 replace 함수 사용해서 값 변환해줄 때

굳이 numpy 불러오지 않고

하단처럼 구해도 되나요? 값은 133으로 똑같이 나왔습니다.

#2. f3 컬럼의 결측치는 0, silver는 1, gold는 2, vip는 3 으로 변환한 후 총 합을 정수형으로 출력하시오
# print(df)

df['f3'] = df['f3'].fillna(0)
df['f3'] = df['f3'].replace('silver', 1)
df['f3'] = df['f3'].replace('gold', 2)
df['f3'] = df['f3'].replace('vip', 3)
                            
# print(df)

print(int(sum(df['f3'])))

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. 최수영님께서 작업형 1 모의문제 1의 문제 3번에서 numpy 없이 pandas의 replace 함수를 사용한 코딩에 대해 질문하셨네요.

pandas의 replace 함수를 이용하여 f3 컬럼의 값 변환하는 방법은 오히려 범용적인 방식이며, 당연히 사용 가능합니다. numpy를 굳이 불러오지 않아도 pandas의 기능만으로도 충분히 변환 작업을 수행할 수 있습니다. 현재 작성하신 코드처럼 직접적으로 fillnareplace를 사용해도 문제없습니다.

다만, Python의 버전이나 pandas 라이브러리가 업데이트되면서 미래의 호환성을 고려해 FutureWarning이 발생할 수 있습니다. 현재 해당 경고는 코드의 작동에 영향을 미치지 않지만, 이후 버전에서 변경될 수 있으니 주의가 필요할 수 있습니다.

요점을 간단히 정리하자면:
- numpy 없이도 동일하게 문제를 해결할 수 있습니다.
- 위 코드로 출력한 값이 문제의 요구 사항에 맞고, ‘133’이 정확히 출력된다면 이 방식으로 진행하셔도 전혀 문제가 없습니다.

답변에 도움이 될 유사한 질문들을 아래에 링크하였습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

최수영님의 프로필 이미지
최수영

작성한 질문수

질문하기