본문 바로가기

멋사107

[DAY 25] 서울시 코로나19 EDA - crosstab, str.contains와 isin, 데이터 시각화 DAY 24에 이어 서울시 코로나19 확진자 EDA를 했다. 다양한 분석을 하며 pandas에 더 익숙해지고 시각화에 대한 감을 잡은 것 같다. pandas의 crosstab 두 개의 변수에 대한 빈도수, 빈도 비율 구하기 # 연도, 퇴원현황 빈도수 구하기 pd.crosstab(index=df['연도'], columns=df['퇴원현황']) # pd.crosstab 으로 연도, 퇴원현황 두 개의 변수에 대한 빈도 비율 구하기 pd.crosstab(index=df['연도'], columns=df['퇴원현황'], normalize=True) * 100 각각 빈도수와 빈도 비율을 구한다. normalize=True로 전체 value에 대한 비율을 구해준다. 모두 합하면 100%가 된다. 위와 같은 데이터 프레.. 2023. 2. 1.
[DAY 24] 서울시 코로나19 발생동향 분석 - index 다루기, 데이터 요약, 기술통계, 파생변수, 시각화 EDA를 시작했다. 서울시 코로나 확진자 데이터를 pandas DataFrame으로 다루어봤다. 실제 데이터를 분석하고 시각화해보는 시간을 가졌다. glob 파일 목록을 간편하게 확인할 수 있는 glob 사용법을 배웠다. 코드가 작성된 파일의 현재 폴더의 data 폴더 아래에 seoul로 시작되는 폴더 아래에 seoul로 시작되는 csv 파일을 찾았다. 이처럼 glob은 파일명을 정확히 작성하지 않아도 찾을 수 있어서 유용하다. 데이터프레임 만들기 확인된 파일 중 seoul-covid19-2021-12-18.csv와 seoul-covid19-2021-12-26.csv를 pandas의 read_csv를 이용하여 각각 df_01과 df_02에 데이터프레임으로 저장하였다. df_01은 18646 rows, d.. 2023. 1. 31.
[DAY 23] SQL 집합연산, 서브쿼리, WITH, CTE 새로운 내용에 앞서 지난 시간에 공부한 JOIN에 대한 연습문제와 프로그래머스 문제를 풀었다. 이후 집합연산, 서브쿼리, WITH과 CTE에 대해 공부했다. JOIN 연습문제와 프로그래머스 문제 JOIN 연습문제 ### SQL 연습문제 8-6 주문상품(order_items) 테이블과 상품정보(products) 테이블을 이용하여 주문한 상품의 브랜드 별 평균판매가격(brand_avg_sale_price)을 조회하시오. - 가격은 소수점 2자리까지 표시, 반올림 처리 - 정렬 : 브랜드명 오름차순 select t2.brand, round(avg(t1.sale_price), 2) from `thelook_ecommerce.order_items` t1 left join `thelook_ecommerce.prod.. 2023. 1. 27.
[DAY 22] SQL CASE, IF 조건분기, JOIN 어제 배운 함수 내용을 가볍게 훑고 강의가 시작되었다. CASE문, IF문을 통해 SQL에서 조건분기를 구현하는 방법과 JOIN을 공부했다. 조건분기 - CASE 사용법 CASE WHEN 조건문1 THEN 값 [WHEN 조건문2 THEN 값] . . . [ELSE 값] END CASE를 쓰고 그 뒤로 WHEN ~ THEN을 1개 이상 사용한다. WHEN에 모두 해당하지 않을 경우의 값을 원할 때 ELSE를 사용할 수 있다. CASE문 마지막에 END는 필수이다. Python의 if ~ elif~ else 문과 흡사하다. 사용 예시 orders 테이블에서 order_id, user_id, status를 조회한 결과는 아래와 같다 status에 따라 한글로 된 컬럼을 추가하고 싶다면 CASE문을 사용할 수 .. 2023. 1. 26.
[DAY 21] SQL 함수를 통해 숫자, 문자, 날짜 형태의 데이터 다루기, NULL 처리하기 설 연휴가 지난 20230125 수요일이다. 이번주는 3일 연속으로 Special Lecture인 SQL이 예정되어 있다. 집계함수, group by, order by, having 등 내용을 복습한 후 함수에 대해 공부했다. 함수 - 숫자 다루기 ROUND(number, n) : number의 소수점 n+1번째 자리에서 반올림 - ROUND(10.5678, 3) : 10.568 TRUNC(number, n) : number의 소수점 n+1번째 자리에서 내림(절삭) - TRUNC(10.5678, 3) : 10.567 MOD(number, n) : number를 n으로 나눈 나머지 - MOD(10, 3) : 1 POWER(number, n) : number의 n제곱 - POWER(10, 3) : 1000... 2023. 1. 25.
반응형