커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
groupby 질문
undefined주차
북마크
박*정
댓글
3
추천
0
조회수
10
조회수
10
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.


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() 로 나눠준 것인지 명확히 이해가 되지 않아 질문드립니다!









취소
 공유
취소
댓글 0
댓글 알림
나의얼굴