Project

    Python/crawling - Youtube 채널 데이터 크롤링

    0. 프로젝트 개요 Youtube 데이터 기반 산업 트렌드 분석 1. 기존 유사 서비스와의 차이점 Social Blade(해외), Bling(국내) 등 유튜브 분석 서비스는 이미 존재하지만, 기존 서비스들은 대체로 인플루언서 분석에 집중하고 있다. 인플루언서 분석 항목은 대체로 조회 수/좋아요 수/구독자 수 증감, 추정 수익, 다른 인플루언서와의 비교 등이다. 이번 프로젝트에서는 특정 산업분야의 주요 브랜드 채널과, Top 인플루언서들의 데이터(영상, 댓글, 조회 수 등)를 크롤링하여 손쉽게 산업의 트렌드를 팔로업할 수 있는 서비스를 만드는 것이 목적이다. *이번 프로젝트에서는 automotive industry로 한정한다. 2. 구조 크롤링 -> DB setting (MySQL) -> 댓글 키워드 분석..

    Python / DASK(2) - use case : 불러오기, 인덱싱

    0. DASK로 불러올 때 ValueError가 발생한다면 지난 글에서도 썼지만, 기본적으로 DASK는 Pandas에서 csv를 불러오는 방식과 동일하다. #읽어오기 example = dd.read_csv("example.csv") 그런데 이게 가끔 안될 때가 있다. 정확히 말하자면, .read_csv()로 다스크 데이터프레임을 만드는 것까지는 가능하지만, 이 데이터를 불러오거나 처리하려거나 하면 ValueError가 발생한다. 에러 메시지를 읽어보면 DASK가 읽어온 데이터 타입과 실제 데이터프레임의 데이터 타입이 다를 때 이 에러가 발생하는 것 같다. (왜 다르냐고 묻고 싶지만...) 다행히 다스크는 독스트링(docstring)이나 에러 메시지가 굉장히 친절하고 상세하다. 아래 에러 메시지에서도 이렇..

    Python / DASK(1)

    0. DASK ? - Dask는 가상의 데이터프레임. 병렬처리를 활용해 메모리를 효율적으로 사용할 수 있다. 왜 가상이냐면, 하드디스크에 있는 내용을 RAM에 올리는 것이 아니라 하드디스크 내의 데이터를 링크하는 것이기 때문이다. - 즉, DASK를 통해 메모리상에 전부 올릴 수 없는 대규모 파일을 활용가능. - Numpy나 scikit learn에서도 활용할 수 있도록 만들어졌는데, 일단 이번 프로젝트에서는 Pandas 로 사용하였다. - CPU 코어 수만큼 병렬 처리가 가능하다. m1이 깡패가 될 수 있는 지점이다. (제주도 관광객의 대중교통 이용과 관련하여 프로젝트를 진행하려는데 원본 파일이 무려 16기가에 달해 울면서 도입하였다. 귀여운 8기가램 구형 노트북도 16기가짜리 파일을 올릴 수 있게 만..

    Python / 제주 데이터허브 API를 이용해 일일 버스이용자 데이터 가져오기

    *첫 작성일 20210428 *미세수정 20210521 0. 제주 데이터허브 제주데이터허브 www.jejudatahub.net 데이터분석에 관심이 있다면 공공데이터포털이나 서울 열린데이터 광장을 둘러본 경험도 한번쯤은 있을 것이다. 이런 사이트들의 제주도 버전이 바로 제주데이터허브다. 제주에서 IT 산업 육성에 굉장히 신경쓰고 있다던데, 그래서인지 제주데이터허브도 각종 데이터를 제공하고 있다. 회원가입만으로 사용이 가능하다. 1. 데이터 구성 www.jejudatahub.net/data/view/data/613 제주데이터허브 www.jejudatahub.net 이 데이터의 API를 이용해보려고 한다. 일일 정류소별 버스 이용자 데이터로, 이 데이터에서 받아볼 수 있는 column들은 다음과 같다. 1) ..