SQL 에서 LAG ,LEAD 윈도우함수의 경우 그룹별로 이전/이후의 행 값을 가져오고 싶을 때 주로 사용한다. 예를들어, 아래 처럼
down_at
시간별로 정리된 데이터에서view_count
의 차이를 보고 싶을때 말이다!
만약 SQL에서 쿼리를 작성한다면,
아래와 같이 전일 view_count
를 땡겨와야하기 때문에 LAG 함수를 사용하면된다!
LAG('땡겨올 컬럼', n칸씩 )
SELECT title
, down_at
, view_count
, LAG(view_count, 1) OVER (PARITICON BY title ORDER BY down_at) AS prev_view_count
FROM DF
위 함수를 파이썬에서 사용한다면?
shift 함수를 쓰면된다!
df['prev_view_count'] = df.groupby('video_id')['view_count'].shift()
이제 view_count 와 prev_view_count를 빼주면 전일 대비해서 얼 만큼 조회수가 증가했는지
구할 수 있다.