데이터분석 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 값 처리가 화자의 의도였던것.. 출제자의 의도를 살피자..
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 |