이전 이후의 행 값을 가져 오고 싶을 때

chaechae·2023년 6월 25일
0
post-thumbnail

SQL의 LAG 함수를 Python에서 쓴다면?

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

💻python

위 함수를 파이썬에서 사용한다면?

shift 함수를 쓰면된다!

df['prev_view_count'] = df.groupby('video_id')['view_count'].shift()

결과

이제 view_count 와 prev_view_count를 빼주면 전일 대비해서 얼 만큼 조회수가 증가했는지
구할 수 있다.

profile
다양한 컨텐츠가 있는 곳을 좋아합니다. 시리즈를 참고하시면 편하게 글을 보실 수 있습니다🫠

0개의 댓글