
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
4주차 8강 '할인은 정말 효과적인 선택일까? _ 데이터 분석 및 시각화'에서
최종 코드는 이것이었습니다.
#라이브러리 불러오기
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
#한글 깨짐 방지 글꼴 설정
plt.rc('font', family='NanumBarunGothic')
#데이터 불러오기
sparta_data = pd.read_table('파일 경로',sep=',')
#데이터 확인
sparta_data.tail()
#할인 혜택 받은 사람의 결제 수
sum_of_students_by_discounted = sparta_data[sparta_data['group']==1]['user_id'].count()
sum_of_students_by_discounted
#할인 혜택 받지 않은 사람의 결제 수
sum_of_students_by_not_discounted = sparta_data[sparta_data['group']==0]['user_id'].count()
sum_of_students_by_not_discounted
#각 결제 인원에서 실제 실험 인원인 12000명을 나누고 각 퍼센테이지 구하기
percent_of_students_by_not_discounted = sum_of_students_by_not_discounted/12000 *100
percent_of_students_by_discounted = sum_of_students_by_discounted/12000 *100
print(percent_of_students_by_not_discounted , percent_of_students_by_discounted )
#그래프 사이즈
plt.figure(figsize=(10,5))
#x 그룹
x_list =["정가 구입 그룹", "할인 적용 그룹"]
#y 값
y_list = [percent_of_students_by_not_discounted ,percent_of_students_by_discounted]
#x,y값 설정
plt.bar(x_list, y_list)
#그래프 타이틀
plt.title('할인 여부 결제 전환율 비교 분석')
#x축 레이블
plt.xlabel('할인 적용 여부')
#y축 레이블
plt.ylabel('결제 전환율')
plt.show()
-------------------------------------------------------------------------------------------------------
이 부분을 풀고나서, 4주차 숙제 부분에서 답안을 확인하니,
groupby를 사용하여 할인율을 그룹화 해주는 것을 보았습니다.
그리고 나서 생긴 궁금증이
[4-8강의 문제]
#할인 혜택 받은 사람의 결제 수
sum_of_students_by_discounted = sparta_data[sparta_data['group']==1]['user_id'].count()
sum_of_students_by_discounted
#할인 혜택 받지 않은 사람의 결제 수
sum_of_students_by_not_discounted = sparta_data[sparta_data['group']==0]['user_id'].count()
sum_of_students_by_not_discounted
위의 이 부분을
students_by_discounted = sparta_data.groupby('group')['user_id'].count()
로 적어주면 안 되는 것일까요???
----------------------------------------------------------------------------------
제가 아직 groupby개념을 이해 못 한것인지
제가 생각했을 때는 그룹은 어쨌든 0 아니면 1 이니까
groupby로 묶어줘도 되지 않을까 생각했습니다.
-------------------------------------------------------------------------------------
제가 '4주차 숙제'에서 코드를 작성할 때 4-8 강의를 참고해서 코드를 작성하였었습니다.
[해설 코드]
students_discounted = sparta_data.groupby('discounted')['user_id'].count()
students_discounted
[제가 작성한 코드]
sum_of_students_by_discounted_1 = sparta_data[sparta_data['discounted']==10000]['user_id'].count()
sum_of_students_by_discounted_1
sum_of_students_by_discounted_2 = sparta_data[sparta_data['discounted']==20000]['user_id'].count()
sum_of_students_by_discounted_2
sum_of_students_by_discounted_3 = sparta_data[sparta_data['discounted']==30000]['user_id'].count()
sum_of_students_by_discounted_3
왜 이 문제(숙제)에서는 groupby를 사용한 것이고, 4-8강의 문제에서는 일일이 sparta_data[sparta_data['group']==1]['user_id'].count() 로 나눠준 것인지 명확히 이해가 되지 않아 질문드립니다!
