상세 컨텐츠

본문 제목

231213수_TIL

TIL

by 30303 2023. 12. 13. 20:21

본문

728x90

데이터분석 4주차

목표 달성을 위한 가설을 직접 세워보기.

 

 좋은 가설이란?

1) 풀고자 하는 문제의 방향성과 일치하는 가설

2)테스트 가능한 가설

3)액션으로 이어질 수 있는 가설

 

데이터 전처리 과정 중 결측치 확인 하는 방법

 

* 결측치를 제거하는 방법

sparta_data = sparta_data.dropna()

 

* 매체 별 효율을 분석하기 위해 접근 매체 별로 유저 아이디 수를 계산한다

group by 를 이용하여. 

* 시각화 - 그래프 설정 값 변경 가능

 

1) 막대 그래프의 막대 색상 변경

 

plt.bar(access_media.index,access_media.values, color = ['gold', 'b', '#FF0000', 'green','orange','red','#000000'], alpha = 0.3)

Color 에 리스트 값을 넣을 수

개별 막대를 값을 다르게

알파값 진하기 낮을 수록 옅어짐

 

2) 테두리 색과 두께 선택 가능

 

#edgecolor = '원하는 색상', linewidth = 원하는 두께로 바의 테두리의 색상과 두께 변경이 가능 합니다!

plt.bar(access_media.index,access_media.values, color = ['gold', 'b', '#FF0000', 'green','orange','red','#000000'], alpha = 0.3,edgecolor = 'black', linewidth = 2.5)

 

3) 막대 그래프의 막대 두께 변경 가능

 

plt.bar(access_media.index,access_media.values, width=1.2)

기본값 0.8. 넓어질 수록 변화의 추이를 자연스럽게 살펴보기가 용이합니다

 

4) 폰트사이즈 변경 가능

 

#fontsize="원하는 크기" 폰트 사이즈를 조절 할수 있어요!

plt.title('수강생 수강 신청 경로',fontsize=20)

 

+) for in 함수를 이용해 막대 그래프 상단에 값을 추가하는 방법

#그래프를 bar라는 변수에 넣고,

bar = plt.bar(access_media.index,access_media.values)

#for 반복문으로,

for rect in bar:

    # 바의 세로길이 값을 구하고,

    height = rect.get_height()

    #bar 가장 가운데 x 좌표 구하기 : get_x() x축의 가장 왼쪽 부분 + get_width 절반

    plt.text(rect.get_x() + rect.get_width()/2.0, height, '%.1f' % height, ha='center', va='bottom', size = 12)

 

 

+) colab 에서 한글이 깨질 때

!sudo apt-get install -y fonts-nanum

!sudo fc-cache -fv

!rm ~/.cache/matplotlib -rf

 

그래프에 범례 추가하기

# 그래프의 범례는 .legend() 이용하여 만들어 줍니다! :)

plt.legend()

 

* 할인 적용 여부가 구매 전환율에 미치는 효과

컬럼에서 집단을 나누어 각 집단별 합계를 측정한 후 비교한다 

group 컬럼에서 0인경우 할인 안 받음. 1인 경우 할인 받음

검증할 변수가 속한 컬럼을 기준으로 묶어내면 됨

#할인 혜택 받은 사람의 결제

sum_of_students_by_not_discounted = sparta_data[sparta_data['group']==0]['user_id'].count()

 

 

 

 

 

 


 

 

 

 

SQL 코드카타

문제 13.

USER_INFO 테이블에서 나이 정보가 없는 회원이 몇 명인지 출력하는 SQL문을 작성해주세요. 이때 컬럼명은 USERS로 지정해주세요.

SELECT count(1) users  # 컬럼명 바로 옆에 지정 하면 된다
from user_info
where age is null

 

 

문제 14. 

PRODUCT 테이블에서 판매 중인 상품 중 가장 높은 판매가를 출력하는 SQL문을 작성해주세요. 이때 컬럼명은 MAX_PRICE로 지정해주세요.

SELECT max(price) max_price
from product

 

 

문제 15.

입양 게시판에 동물 정보를 게시하려 합니다. 동물의 생물 종, 이름, 성별 및 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 프로그래밍을 모르는 사람들은 NULL이라는 기호를 모르기 때문에, 이름이 없는 동물의 이름은 "No name"으로 표시해 주세요.

 

select animal_type, ifnull(name,'No name') as name, sex_upon_intake
from animal_ins
order by animal_id

 

sql 값 변경으로 구글링 후 수 차례 update set where 구문을 시도하다 실패. 

값 변경이 이슈가 아니라 null 값 처리가 화자의 의도였던것.. 출제자의 의도를 살피자..

 

 

 

 

 

'TIL' 카테고리의 다른 글

231218월_TIL  (1) 2023.12.18
231214목_TIL  (0) 2023.12.14
231212화_TIL  (0) 2023.12.12
231211월_TIL  (0) 2023.12.11
231207  (2) 2023.12.07

관련글 더보기