직접짠꿀코드 (2) 썸네일형 리스트형 pymysql upsert 쿼리문 우아하게 작성하기 1. 문제정의 Pymysql 라이브러리를 활용하여 upsert하는 query string을 작성 시, 반복되는 부분도 많고, 문법 오류가 종종 발생함. 좀 더 체계적으로 작성하고자 하여 Class 형태로 구현 2. 해결방향 make_qv 함수를 통해 query, value를 통일된 포멧으로 작성하고 ON DUPLICATE KEY를 이용해 Upsert 코드를 작성 3. 코드 class Create_Queries: def __init__(self): pass # self.tb_nm = tb_nm # self.upd_lst = upd_lst def make_qv(self, upd_lst:list): # query q_lst = ', '.join(upd_lst) # update value v_upd = "" f.. 코호트 분석을 위한 주문 간격이 짧은 중복 데이터 전처리 1. 문제정의 - E-커머스에서 고객이 여러 건의 주문을 한다. - 고객의 여러 주문 건 중 N일(예시) 내 주문 건은 하나의 주문으로 통합하고 싶다. 2. 해결방향 (한줄요약) - 1차원 Array끼리 timestamp 차이를 구하고, np.where로 짧은 부분은 제외시킴 3. 고민한 것들 - 방법은 정말 여러가지가 있을 수 있지만, NumPy를 써서 속도를 향상시킴. - df.query 보단 boolean mask를 써서 속도를 향상시킴. 4. 코드 # 이전 날짜와 비교하는 함수 정의 def make_real_order_date_r(tmp): # 1) before date 만들기 before_date = tmp['order_date'].to_numpy() ### timestamp -> np.date.. 이전 1 다음