팬더에서 슬라이딩 최대값을 계산하는 방법(예제 포함)
다음 방법을 사용하여 Pandas DataFrame에서 이동 최대값을 계산할 수 있습니다.
방법 1: 슬라이딩 최대값 계산
df[' rolling_max '] = df. values_column . cummax ()
방법 2: 그룹당 슬라이딩 최대값 계산
df[' rolling_max '] = df. groupby (' group_column '). values_column . cummax ()
다음 예에서는 각 방법을 실제로 사용하는 방법을 보여줍니다.
예시 1: 슬라이딩 최대값 계산
매장의 매일 매출을 보여주는 다음과 같은 pandas DataFrame이 있다고 가정합니다.
import pandas as pd #createDataFrame df = pd. DataFrame ({' day ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], ' sales ': [4, 6, 5, 8, 14, 13, 13, 12, 9, 8, 19, 14]}) #view DataFrame print (df) day sales 0 1 4 1 2 6 2 3 5 3 4 8 4 5 14 5 6 13 6 7 13 7 8 12 8 9 9 9 10 8 10 11 19 11 12 14
다음 구문을 사용하여 롤링 최대 판매액을 표시하는 새 열을 만들 수 있습니다.
#add column that displays rolling maximum of sales df[' rolling_max '] = df. dirty . cummax () #view updated DataFrame print (df) day sales rolling_max 0 1 4 4 1 2 6 6 2 3 5 6 3 4 8 8 4 5 14 14 5 6 13 14 6 7 13 14 7 8 12 14 8 9 9 14 9 10 8 14 10 11 19 19 11 12 14 19
Rolling_max 라는 새 열에는 매출의 롤링 최대 값이 표시됩니다.
예시 2: 그룹당 슬라이딩 최대값 계산
두 개의 서로 다른 매장에서 매일 이루어진 매출을 보여주는 다음과 같은 pandas DataFrame이 있다고 가정해 보겠습니다.
import pandas as pd #createDataFrame df = pd. DataFrame ({' store ': ['A', 'A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B'], ' day ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], ' sales ': [4, 6, 5, 8, 14, 13, 13, 12, 9, 8, 19, 14]}) #view DataFrame print (df) store day sales 0 to 1 4 1 to 2 6 2 to 3 5 3 to 4 8 4 to 5 14 5 to 6 13 6 B 7 13 7 B 8 12 8 B 9 9 9 B 10 8 10 B 11 19 11 B 12 14
다음 구문을 사용하여 매장별로 그룹화된 롤링 최대 매출 값을 표시하는 새 열을 만들 수 있습니다.
#add column that displays rolling maximum of sales grouped by store df[' rolling_max '] = df. groupby (' store '). dirty . cummax () #view updated DataFrame print (df) store day sales rolling_max 0 A 1 4 4 1 to 2 6 6 2 to 3 5 6 3 to 4 8 8 4 to 5 14 14 5 to 6 13 14 6 B 7 13 13 7 B 8 12 13 8 B 9 9 13 9 B 10 8 13 10 B 11 19 19 11 B 12 14 19
Rolling_max 라는 새 열에는 매장별로 그룹화된 최대 매출 가치가 표시됩니다.
추가 리소스
다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
조건에 따라 Pandas DataFrame에서 행을 삭제하는 방법
여러 조건에서 Pandas DataFrame을 필터링하는 방법
Pandas DataFrame에서 “NOT IN” 필터를 사용하는 방법