Pandas: groupby 및 값 개수를 사용하는 방법


다음 기본 구문을 사용하여 Pandas DataFrame에서 그룹당 고유 값의 빈도를 계산할 수 있습니다.

 df. groupby ([' column1 ', ' column2 ']). size (). unstack (fill_value= 0 )

다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.

예: Pandas에서 GroupBy 및 값 개수 사용

다음과 같은 팬더 DataFrame이 있다고 가정합니다.

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'],
                   ' position ':['G', 'G', 'F', 'F', 'C', 'G', 'F', 'F', 'F', 'F'],
                   ' points ': [8, 8, 10, 10, 11, 8, 9, 10, 10, 10]})

#view DataFrame
print (df)

  team position points
0 AG 8
1 GA 8
2 AF10
3 AF 10
4 AC 11
5 BG 8
6 BF 9
7 BF 10
8 BF 10
9 BF 10

다음 구문을 사용하여 직위 열별로 그룹화된 포인트 값의 빈도를 계산할 수 있습니다.

 #count frequency of points values, grouped by team and position
df. groupby ([' team ',' position ',' points ']). size (). unstack (fill_value= 0 )

	points 8 9 10 11
team position				
A C 0 0 0 1
        F 0 0 2 0
        G 2 0 0 0
B F 0 1 3 0
        G 1 0 0 0

결과를 해석하는 방법은 다음과 같습니다.

  • A팀과 C팀 선수의 포인트 열에 값 8이 0 번 표시되었습니다.
  • A팀과 C팀 선수의 포인트 열에 값 9가 0 번 표시되었습니다.
  • A팀과 C팀 선수의 포인트 열에 값 10이 0 번 표시되었습니다.
  • A팀과 C팀 선수의 포인트 열에 11이라는 값이 1 번 표시되었습니다.

등등.

다음 구문을 사용하여 팀별 로 그룹화된 위치 빈도를 계산할 수도 있습니다.

 #count frequency of positions, grouped by team
df. groupby ([' team ', ' position ']). size (). unstack (fill_value= 0 )

position C F G
team			
A 1 2 2
B 0 4 1

결과를 해석하는 방법은 다음과 같습니다.

  • A팀에서 ‘C’라는 값이 1 번 발생했습니다.
  • A팀에서는 ‘F’라는 값이 2 번 등장했습니다.
  • A팀에서는 ‘G’라는 값이 2 번 등장했습니다.
  • B팀에서는 ‘C’ 값이 0 회 발생했습니다.
  • B팀에서는 ‘F’값이 4 번 발생했습니다.
  • B팀에서는 ‘G’ 값이 1 번 발생했습니다.

등등.

추가 리소스

다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

Pandas에서 GroupBy 합계를 수행하는 방법
Pandas에서 GroupBy를 사용하여 고유한 값을 계산하는 방법
Pandas에서 Groupby 및 Plot을 사용하는 방법

의견을 추가하다

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