목록Home (103)
짜리몽땅 매거진

문제1. 우리 플랫폼에 정착한 판매자 2 출처 : solvesql 연습문제 문제 정보 : 난이도 2 / 정답률 28.17% https://solvesql.com/problems/settled-sellers-2/ https://solvesql.com/problems/settled-sellers-2/ solvesql.com 정답 쿼리 select seller_id, count(distinct order_id) as orders from olist_order_items_dataset where price >= 50 group by seller_id having orders >=100 order by orders desc 문제 해설 1. 주요 포인트 1 - 조건에 대하여 where절과 having절의 차이 wh..

지난번 beautifulsoap 라이브러리를 활용해 당근마켓 인기매물 리스트를 정적 크롤링해보았다. 오늘은 워크넷 구인구직 플랫폼에서 검색어와 클릭에 따라 원하는 정보를 크롤링하는 동적 크롤링을 학습했다. 정적 크롤링과 동적 크롤링의 개념 및 차이에 대해서는 지난 포스팅을 참고하면 된다. [Python] beautifulsoap으로 당근마켓 정적 크롤링하기당근마켓은 모바일에 최적화된 서비스 구조이기 때문에 웹크롤링을 통해서는 한정적인 정보만을 가져올 수 밖에 없다. 하지만 나의 동네 인기 매물을 검색했을 때 인기 게시글들의 '제목', '주zzarimongddang.tistory.com워크넷 구인구직 사이트에서 중장년층과 상용직 필터만 클릭했을 때, 뜨는 구인구직 게시글들의 제목, 기..

문제1. 쇼핑몰의 일일 매출액 출처 : solvesql 연습문제 문제 정보 : 난이도 2 / 정답률 55.27% https://solvesql.com/problems/olist-daily-revenue/ 정답 쿼리 select strftime('%Y-%m-%d', order_purchase_timestamp) as dt, round(sum(payment_value),2) as revenue_daily from olist_orders_dataset a join olist_order_payments_dataset b on a.order_id = b.order_id where dt >= '2018-01-01' group by dt order by dt 문제 해설 1. 주요 포인트 1 - select 절 sel..
당근마켓은 모바일에 최적화된 서비스 구조이기 때문에 웹크롤링을 통해서는 한정적인 정보만을 가져올 수 밖에 없다. 하지만 나의 동네 인기 매물을 검색했을 때 인기 게시글들의 '제목', '주소', '가격', '게시글 내용' 정보만 가져오면 되기 때문에 웹으로도 충분히 크롤링을 진행할 수 있었다. 크롤링은 크게 두 가지 유형으로 분리되는데, 정적 크롤링이란 멈춰있는 페이지의 HTML을 requests 혹은 urllib 패키지를 이용해 가져와서 beautifulsoap 패키지로 파싱(=복잡한 HTML 문서를 잘 분류, 정리하여 다루기 쉽게 바꾸는 작업) 하여 원하는 정보를 수집하는 과정이다. 동적 크롤링이란 계속 움직이는 페이지를 다루기 위해 selenium 패키지로 chromdriver를 제어하는 크롤링 과정..

문제1. 레스토랑의 대목 출처 : solvesql 데이터리안 sql 캠프 실전반 문제 정보 : 난이도 2 / 정답률 61.07% https://solvesql.com/problems/high-season-of-restaurant/ 정답 쿼리 select * from tips where day in (select day from tips group by day having sum(total_bill)>1500) 문제 해설 1. 주요 포인트 1 - where절 서브쿼리 where day in (select day from tips group by day having sum(total_bill)>1500) insert절의 스칼라 서브쿼리, from절의 인라인뷰, where절의 일반 서브쿼리로 분류되는 서브쿼리..

그리디 알고리즘은 현재 시점에서 지금 당장 좋은 것만 고르는 방법으로 '탐욕법'이라고 부르기도 한다. 그리디 알고리즘은 다음과 같은 특징을 지니고 있다. - 일반적인 상황에서 최적의 해를 보장할 수 없다. - 코딩테스트에서 대부분의 그리디 문제는 그리디 알고리즘으로 얻은 해가 최적의 해가 되는 상황에서 이를 추론할 수 있어야 풀리도록 출제된다. 코딩테스트에서는, - 사전에 외우고 있지 않아도 풀 수 있는 가능성이 높다. - 정렬 라이브러리의 사용법이 필요하다. - 일반적으로는 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 능력만을 요구한다. - 정당성 분석이 중요하다. 탐욕법으로 문제를 풀어도 최적의 해를 구할 수 있는가? 그리디 알고리즘으로 분류되는 코딩테스트 문제를 백준 알고리즘 사이트에서 풀..

문제1. 레스토랑 웨이터의 팁 분석출처 : solvesql 연습문제문제 정보 : 난이도 2 / 정답률 44.53%https://solvesql.com/problems/tip-analysis/ 정답 쿼리select day, time, round(avg(tip),2)as avg_tip, round(avg(size),2)as avg_sizefrom tipsgroup by day, timeorder by day, time 문제 해설1. 주요 포인트 1 - round, avgselect day, time, round(avg(tip),2)as avg_tip, round(avg(size),2)as avg_size 팁과 일행 수의 경우 날짜와 시간대에 따라 평균값으로 집계 후 소수 둘째 자리까지만 표현해야하므로 ro..
우리가 흔히 분석하고 시각화, 더 나아가 모델링을 하는 과정까지 이어나가기 위해서는 앞단에서 데이터를 분석할 수 있는 형태로 잘 가공하고 전처리해야한다. 전처리해야하는 요소는 여러가지가 있지만 그 중에서 데이터프레임에 빈칸/None/NaN 으로 표시되는 결측값(Missing Value) 처리에 대해 알아보고자 한다. 실제 데이터는 우리 입맛에 맞게 원하는 변수(=칼럼), 결측치 없이 모든 값이 들어가 있는 행 등 이미 가공된 형태로 제공되지 않는다. 전처리되지 않은 데이터를 분석하거나 모델에 적용하게 되면 그 결과는 엉망이 되어버린다. 따라서 오늘 다루고자 하는 '결측값'은 꼭 적절한 방법으로의 처리가 필요하다. 0. 결측값의 종류 - MCAR : Missing Completely at Random (완..