본문 바로가기

데이터분석19

[BigQuery] 신규사용자가 첫 접속날짜에 남긴 이벤트만 필터링 이글에서는 user_pseudo_id 또는 user_id를 활용해서 신규사용자가 처음 접속한 당일에 발생시킨 이벤트들만 필터링하는 방법에 대해서 알아볼 것이다. user_id를 수집하고 있지 않은 경우, 사용자를 식별할 수 있는 user_pesuo_id를 사용해야 한다.(user_id 관련 글) 이를 사용하여 사용자가 가장 처음 사이트를 접속한 날짜를 필터링하는 방법을 알아보자. SELECT user_pseudo_id, event_date FROM `프로젝트ID.events_*` WHERE event_name = 'first_visit' 위와 같이 쿼리를 작성하면, user_pseudo_id를 기준으로 'first_visit' 이벤트를 발생시킨 날짜만 필터링되어서 출력된다.('first_visit'는 유.. 2024. 2. 25.
[BigQuery] event_date 날짜 형식 변경 방법 BigQuery의 event_date 날짜 형식을 보면, 20240225 이런식으로 되어있는 걸 볼 수 있다. 이러한 날짜 형식을 변경하고 싶을 때 사용할 수 있는 문법을 정리해봤다. 1. PARSE_DATE(format_string, date_string) 이 함수는 텍스트 형식의 날짜형태를 날짜 형식으로 바꾸는 함수이다. format_string 부분에는 원본 데이터의 날짜형태를 그대로 입력해주어야한다. 예를 들어 event_date의 형태가 20240225이었기 때문에 아래와 같이 %Y%m%d 형태로 작성해주는 것이다. 다른 예시로 event_date의 형태가 24/02/25 였다면, format_string 부분에 %y/%m/%d 형태로 작성해야한다. PARSE_DATE('%Y%m%d',event.. 2024. 2. 25.
퍼스트파티 DB → 파이썬 → 구글 시트 → 슬랙 연결 자동화 방법 이 글에서는 퍼스트파티 DB, 즉 회사 내부 데이터를 SQL로 추출해서 구글 시트에 적재하고, 슬랙에 자동으로 시트의 데이터를 전송하는 과정을 알아볼 것입니다. 이 과정을 파이썬과 Apps Script를 활용하여 전부 자동화시키는 것이 목적입니다. 목차 1. 퍼스트파티 DB, 파이썬 연결 2. 파이썬, 구글 시트 연결 3. 구글 시트, 슬랙 연결 4. 파이썬 자동 실행 방법 1. 퍼스트파티 DB, 파이썬 연결 이 부분은 이전에 포스팅했던 적이 있다. 참고하도록 하자. 파이썬에서 MySQL 쿼리로 DB 데이터 끌어오는 방법 파이썬과 MySQL을 연동하여 DB 데이터를 끌어오는 방법에 대해서 간단하게 알아보겠습니다. 꼭 필요한 코드만 담았습니다. 또한, 끌어온 데이터로 시각화하는 방법까지 공유드리겠습니다 :.. 2024. 2. 3.
파이썬에서 MySQL 쿼리로 DB 데이터 끌어오는 방법 파이썬과 MySQL을 연동하여 DB 데이터를 끌어오는 방법에 대해서 간단하게 알아보겠습니다. 꼭 필요한 코드만 담았습니다. 또한, 끌어온 데이터로 시각화하는 방법까지 공유드리겠습니다 :) 파이썬에 MySQL 연동하는 전체 코드 import pymysql plt.rcParams['font.family'] = 'Malgun Gothic' conn = pymysql.connect(host='localhost', user='root', password='0000', db='main_db', charset='utf8') cursor = conn.cursor() sql = """ select * from user limit 5 """ cursor.excute(sql) data = cursor.fetchall() c.. 2023. 12. 17.
파이썬 웹 크롤링 환경세팅(VScode, miniconda, selenium) 및 예시코드 이 글에서는 크롤링을 위한 VScode, miniconda 환경 세팅부터 Selenium, ChromDriver 자동관리 라이브러리 설치 방법까지 알아볼 것이다. 또한, 실습이 가능하도록 실제로 구글 스토어 댓글을 크롤링하는 코드를 제공한다. 파이썬 코딩을 할 때, 흔히 사용하는 Colab은 크롤링이 실제로 동작하는지 볼 수 없다. 반면 VScode에서는 이를 확인할 수 있다.다만 VScode에서는 .ipynb파일을 실행하려면 파이썬 에디터인 Jupyter Notebook이 필요하다. miniconda는 Jupyter Notebook과 파이썬에서 필요한 최소한의 라이브버리들, 그리고 가상환경을 관리할 수 있게 만들어진 툴이다. 따라서 환경세팅을 위해 VScode와 miniconda를 먼저 다운로드 받아야.. 2023. 12. 10.
MySQL 내장 함수 53가지 정리 (숫자, 문자, 날짜, 논리, 집계) MySQL을 사용할 때, 사용할 수 있는 내장 함수 53가지를 준비했다. 함수 종류가 많아서 하니씩 다 찾아보기 힘든 분들을 위해 카테고리 별로 나눠서 표로 정리했다. 숫자, 문자, 날짜, 논리, 집계 5가지 카테고리로 분류된다. 내용은 예시 SQL문, 실행 결과, 데이터를 가져왔을 때 사용하는 예문으로 구성된다. 각 함수에 대한 설명은 예시에 설명해 놓았다. 숫자 관련 함수 1. ABS(number) -- 예시: 음수의 절대값 계산 SELECT ABS(-15); -- 결과: 15 -- 활용: 테이블의 특정 열에 있는 모든 값의 절대값 계산 SELECT ABS(column_name) FROM table_name; 2. CEILING(number) -- 예시: 소수점 이하를 올림 SELECT CEILING.. 2023. 11. 23.
앱시트 + 구글 스프레드시트로 개인용 앱 만들기 1시간 컷 앱시트와 구글 스프레드시트를 사용하여 개인용 앱을 만드는 방법에 대해 알아보겠습니다. 이 방법은 매우 쉬운 방법으로 개발이 따로 필요 없습니다. 초등학생도 따라 할 수 있는 수준입니다. 조금 숙련이 되면 누구나 1시간 안에 원하는 기능까지 구현이 가능합니다. 구글 스프레드시트의 장점은 클라우드 형태로 저장이 된다는 점입니다. 그렇기 때문에 어떤 기기에서든 접속이 가능합니다. 그래서 앱으로 데이터를 입력할 수 있는 것이죠. 이러한 특징으로 인해 구글 스프레드시트와 앱시트를 사용하면 아주 간단하게 앱을 만들 수 있습니다. 목차 1. 구글 스프레드시트를 생성한다. 2. 필요한 Columns를 정한다. 3. 앱시트로 앱을 만든다. 4. 앱시트를 커스터마이징한다. 5. 구글 스토어에서 앱시트를 설치하고 계정을 연.. 2023. 11. 6.
Seaborn 막대 그래프 7가지 종류 그리는 방법 (vs Matplotlib) 이 글에서는 Python의 Seaborn 라이브러리를 사용하여 다양한 막대 그래프를 그리는 방법을 설명하겠습니다. 기본 막대 그래프부터 수평 막대, 그룹별, 에러바, 누적 및 100% 누적 바 그래프까지 다룹니다. 각 예시에는 코드가 포함되어 있고, 깃허브에 full 코드를 업로드해두었습니다. 저번 시간에는 Matplotlib 라이브러리를 활용해서 아래 목차에 해당하는 그래프를 그리는 방법에 대해서 다루었습니다. Seaborn 같은 경우엔 대부분 Matplotlib보다 훨씬 간단하게 그래프를 표현할 수 있기 때문에 Seaborn 라이브러리도 충분히 익혀두는 것을 추천드립니다. 목차 1. Seaborn 기본 막대 그래프 그리기 2. 수평 막대 그래프 그리기 3. 다중 그룹 데이터 비교하기 4. 다중 그룹 .. 2023. 10. 27.
Matplotlib 막대 그래프 그리는 7가지 방법(errorbar, 100% 누적 바 등) 이 글에서는 Python의 Matplotlib 라이브러리를 사용하여 다양한 막대 그래프를 그리는 방법을 상세하게 설명합니다. 기본 막대 그래프부터 수평 막대, 그룹별 그래프, 에러바, 누적 및 100% 누적 바 차트까지 다룹니다. 각 예시에는 필요한 속성과 코드 설명이 포함되어 있습니다. 목차 1. Matplotlib 기본 막대 그래프 그리기 2. 수평 막대 그래프 그리기 3. 여러 그룹 데이터 비교하기 4. 여러 그룹 하나의 그래프에 담기 5. errorbar 그리기(평균, 표준편차) 6. 누적 바 차트 그리기 7. 100% 누적 바 차트 그리기 8. 속성 요약 1. Matplotlib 기본 막대 그래프 그리기 먼저 가장 기본적인 Matplotlib 라이브러리의 막대 그래프를 그릴 건데요. plt.ba.. 2023. 10. 16.