팬더에서 슬라이딩 최대값을 계산하는 방법(예제 포함)


다음 방법을 사용하여 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” 필터를 사용하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다