inflearn logo
강의

Khóa học

Chia sẻ kiến thức

[Làm gì sau giờ làm] Chứng chỉ Phân tích Dữ liệu lớn - Kỳ thi thực hành (Dạng bài tập 1, 2, 3)

Loại thực hành 1 - Bài tập luyện tập 13-15 🆕

map 함수 사용 필수적인가요

53

tngus50872489

1 câu hỏi đã được viết

0

작업형1 - section14 를 먼저 풀었을 때 아래처럼 작성하였습니다

답은 맞게 나오긴하는데 풀이에선 map을 활용하였더라고요. 따라서 써보려고 하는중인데 영 손에 익지않습니다 ㅠㅠ

혹시 이후 과정에서도 map을 많이 사용한다면 최대한 외워보려고 하는데 필수적일까요 ..?

import pandas as pd
# df = pd.read_csv("type1_data1.csv")
df = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p1/type1_data1.csv")

#print(df.shape)
# 1 중복 데이터 제거 
df = df.drop_duplicates()

#print(df.shape)

# 2 f3 변환

## 결측치 -> 0
# print(df.isna().sum())
df['f3'] = df['f3'].fillna(0)
# print(df.isna().sum())

## silver -> 1 , gold -> 2, vip -> 3
cond1 = df['f3'] == 'silver'
cond2 = df['f3'] == 'gold'
cond3 = df['f3'] == 'vip'
df[cond1] = 1
df[cond2] = 2
df[cond3] = 3

# 3 f3 sum()
result = df['f3'].sum()
print(result)

python 머신러닝 빅데이터 pandas 빅데이터분석기사

Câu trả lời 2

0

roadmap

map()을 활용한 풀이


df['f3'] = df['f3'].map({'silver': 1, 'gold': 2, 'vip': 3}).fillna(0)

ap() 핵심 개념

map()은 딕셔너리를 넘겨주면 해당 값으로 치환하고, 딕셔너리에 없는 값은 자동으로 NaN으로 처리합니다. 따라서 결측치(NaN)와 매핑되지 않은 값 모두 .fillna(0)으로 한 번에 0으로 채울 수 있어 코드가 훨씬 간결해집니다.

기존 코드처럼 조건문(cond1, cond2, cond3)으로 작성해도 답은 동일하게 나오지만, map()을 사용하면 한 줄로 처리할 수 있어 시험 시간을 절약할 수 있습니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 이수현님께서 작업형1의 데이터 변환 과정에서 map 함수를 사용하는 것이 필수적인지에 대한 질문을 주셨네요.

현재 사용하신 방법으로도 f3 컬럼의 변환은 정확하게 수행되고 있으며, 최종 결과가 올바르게 나오는 것에 중점을 두신 것 같습니다. 그럼에도 map을 고려하는 이유는 코드의 간결성 및 효율성에 있습니다. map 함수를 활용하면 조건문을 여러 번 사용하지 않고도 한 줄로 값을 변환할 수 있습니다. 예를 들어:

df['f3'] = df['f3'].map({'silver': 1, 'gold': 2, 'vip': 3}).fillna(0)
  • 위의 코드는 map 함수를 통해 ‘silver’, ‘gold’, ‘vip’이라는 문자열 값을 각각 1, 2, 3으로 변환하며, 동시에 결측치도 0으로 채웁니다. 이처럼 map 함수는 가독성을 높이고 코드의 양을 줄이는 데 도움을 줍니다.

map 함수의 중요성과 활용성

  • map 함수는 Pandas 데이터프레임에서 데이터 변환 시 매우 유용합니다. 특히 범주형 데이터를 수치형 등으로 변환할 때 강력한 도구입니다.
  • 이후 더 복잡한 변환이나 데이터 전처리가 필요한 경우, apply, applymap 등과 함께 사용되기도 하므로 익숙해지는 것이 데이터 처리 과정에서 큰 이점이 될 것입니다.

관련된 기존 질문 및 답변을 참고하시기 바랍니다:

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

아무래도 다음 시험 연장은 어렵겠죠?

0

10

1

빅분기 12회 결과 관련 문의

0

38

1

책이랑 강의랑 순서나 예제가 다른것 같네요

0

51

2

수강연장 문의

0

57

1

재검토 요청 방법 좀 알려주셔요...-.-;;

0

86

2

12회 실기 질문(작업형 2)

0

66

2

뒤로가기 버튼 같은 것이 있나요?

0

49

1

강의 연장 문의

0

69

2

출력값 질문

0

47

2

수업노트가 어디에 있나요?

0

44

1

실기시험 제출관련

0

207

3

6.20 작업형 2 과적합

0

199

3

코딩팡 장업형2 베이스 라인 인코딩 종류 질문

0

68

2

로지스틱회귀, 회귀

0

59

2

회귀 문제를 풀때 질문입니다.

0

66

1

불균형 처리 후 성능이 더 낮아졌다면,

0

74

2

실기 체험 제2유형 에러 문의

0

74

1

LIGHTGBM 으로 하면 pred값이 소수점 6자리까지 나오는게 맞나요

0

64

2

3번문제 등분산 가정

0

55

2

작업형3 target 형 변환 질문

0

44

2

[작업형1] 연습문제 섹션1 ~ 10 의 section4

0

61

3

원핫인코딩과 레이블 인코딩에서 concat

0

68

2

제2유형 질문입니다.

0

51

2

C()

0

52

2