팬더의 누적 수를 계산하는 방법
다음 방법을 사용하여 Pandas DataFrame의 누적 숫자를 계산할 수 있습니다.
방법 1: 그룹별 누적 집계
df[' cum_count '] = df. groupby (' col1 '). cumcount ()
방법 2: 여러 그룹의 누적 계정
df[' cum_count '] = df. groupby ([' col1 ', ' col2 ']). cumcount ()
다음 예에서는 다음 pandas DataFrame에서 실제로 각 메서드를 사용하는 방법을 보여줍니다.
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' position ': ['G', 'G', 'G', 'F', 'G', 'G', 'F', 'F'], ' points ': [14, 22, 25, 34, 30, 12, 10, 18]}) #view DataFrame print (df) team position points 0 AG 14 1 AG 22 2 AG 25 3AF 34 4 BG 30 5 BG 12 6 BF 10 7 BF 18
예시 1: Pandas의 그룹별 누적 계산
다음 구문을 사용하여 DataFrame에 있는 각 팀 의 누적 수를 표시하는 team_cum_count 라는 새 열을 만들 수 있습니다.
#calculate cumulative count by team
df[' team_cum_count '] = df. groupby (' team '). cumcount ()
#view updated DataFrame
print (df)
team position points team_cum_count
0 AG 14 0
1 AG 22 1
2 AG 25 2
3 AF 34 3
4 BG 30 0
5 BG 12 1
6 BF 10 2
7 BF 18 3
team_cum_count 라는 새 열에는 0 값부터 시작하는 각 팀 의 누적 수가 포함됩니다.
1부터 시작하려면 줄 끝에 1을 추가하면 됩니다.
#calculate cumulative count (starting at 1) by team
df[' team_cum_count '] = df. groupby (' team '). cumcount () + 1
#view updated DataFrame
print (df)
team position points team_cum_count
0 AG 14 1
1 AG 22 2
2 AG 25 3
3 AF 34 4
4 BG 30 1
5 BG 12 2
6 BF 10 3
7 BF 18 4
team_cum_count 라는 새 열에는 값 1부터 시작하는 각 팀 의 누적 수가 포함됩니다.
예시 2: Pandas에서 그룹별 누적 개수 계산
다음 구문을 사용하여 DataFrame의 각 팀 및 위치 에 대한 누적 수를 표시하는 team_pos_cum_count 라는 새 열을 만들 수 있습니다.
#calculate cumulative count by team
df[' team_pos_cum_count '] = df. groupby ([' team ', ' position ']). cumcount ()
#view updated DataFrame
print (df)
team position points team_pos_cum_count
0 AG 14 0
1 AG 22 1
2 AG 25 2
3 AF 34 0
4 BG 30 0
5 BG 12 1
6 BF 10 0
7 BF 18 1
team_pos_cum_count 라는 새 열에는 값 0부터 시작하는 각 팀 과 포지션 의 누적 수가 포함됩니다.
참고 : 여기에서 pandas의 cumcount 함수에 대한 전체 문서를 찾을 수 있습니다.
추가 리소스
다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
Pandas에서 특정 열을 합산하는 방법
Pandas의 조건에 따라 열을 합산하는 방법
팬더에서 역누적합을 계산하는 방법