본문 바로가기

Data Analysis/SQL Pandas5

[Pandas/MySQL] Active User [Pandas/MySQL] Active User DAU, WAU, MAU같이 사용자 수로 평가 지표를 나누는 쿼리 작성해보기.데이터 가져오기from sqlalchemy import create_engineimport numpy as npimport pandas as pdengine = create_engine(MYSQL_CONNECTION_STRING)%load_ext sql%sql {MYSQL_CONNECTION_STRING}query = """SELECT char_codeFROM new_character_logWHERE date >= '2024-04-01' and date Open API로 얻은 로그 데이터를 한 번 정제해서 MySQL에 저장한 데이터.Active User에서 중요한건, Day/Wee.. 2024. 11. 14.
[Pandas/MySQL] Rank [Pandas/MySQL] Rank 데이터 생성하기from sqlalchemy import create_engineimport numpy as npimport pandas as pdengine = create_engine(MYSQL_CONNECTION_STRING)%load_ext sql%sql {MYSQL_CONNECTION_STRING}n = 300data = { '국어': np.random.randint(50, 100, size=n), '영어': np.random.randint(50, 100, size=n), '수학': np.random.randint(50, 100, size=n), '성별': np.random.choice(['남', '여'], size=n), '반': n.. 2024. 11. 12.
[MySQL] Example MySQLLeetCode, Project 등 진행하면서 모르는 것들, 헷갈리는 것들, 유용한 팁 정리1. LEAD, LAGRising Temperature - LeetCodeSELECT IDFROM ( SELECT *, DATEDIFF(RECORDDATE, LAG(RECORDDATE) OVER (ORDER BY RECORDDATE)) AS DATEDIFF, TEMPERATURE - LAG(TEMPERATURE) OVER (ORDER BY RECORDDATE) AS DAYDIFF FROM WEATHER ORDER BY RECORDDATE) AS TEMPWHERE DATEDIFF = 1 AND DAYDIFF > 0윈도우 함수 LEAD, LAG. 이전 값이나 이후 값을.. 2024. 8. 29.
[Pandas] Example Pandas 공부 정리LeetCode, Project 등 진행하면서 모르는 것들, 헷갈리는 것들, 유용한 팁 정리1. unique()Second Highest Salary - LeetCodesalary = list(employee['salary'].unique())salary.sort(reverse=True)버전에 따라서 바로 sort가 되지 않는 경우도 있는데, sort_values를 사용해주면 된다.인자에는 ascending=True2. rank()Nth Highest Salary - LeetCodeemployee['dense_rank'] = employee['salary'].rank(method='dense',ascending=False).astype(int)SQL의 rank, dense rank처.. 2024. 8. 29.