Pandas: 여러 열을 기반으로 빈도표 만들기


다음 기본 구문을 사용하여 여러 열을 기반으로 팬더에서 빈도 테이블을 만들 수 있습니다.

 df. value_counts ([' column1 ',' column2 '])

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

예: Pandas에서 여러 열을 기반으로 빈도표 만들기

팀 이름, 위치, 다양한 농구 선수가 득점한 점수에 대한 정보가 포함된 다음과 같은 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 ': [24, 33, 20, 15, 16, 16, 29, 25]})

#view DataFrame
print (df)

  team position points
0 AG 24
1 AG 33
2 AG 20
3 AF15
4 BG 16
5 BG 16
6 BF 29
7 BF 25

value_counts() 함수를 사용하여 포지션 열에서 각 값 조합의 발생을 보여주는 빈도 테이블을 만들 수 있습니다.

 #count frequency of values in team and position columns
df. value_counts ([' team ',' position '])

team position
GA 3
BF 2
      G2
AF1
dtype: int64

결과에서 다음을 확인할 수 있습니다.

  • A 팀과 G 포지션이 3번 발생합니다.
  • B팀과 F포지션이 2번 발생합니다.
  • B팀과 G포지션이 2번 발생합니다.
  • A팀과 F포지션이 1회 발생합니다.

대신 Reset_index()를 사용하여 DataFrame을 반환할 수 있습니다.

 #count frequency of values in team and position columns and return DataFrame
df. value_counts ([' team ',' position ']). reset_index ()

        team position 0
0 A G 3
1 B F 2
2 B G 2
3 A F 1

rename() 함수를 사용하여 개수가 포함된 열의 이름을 바꿀 수 있습니다.

 #get frequency of values in team and position column and rename count column
df. value_counts ([' team ',' position ']). reset_index (). rename (columns={0:' count '})

        team position count
0 A G 3
1 B F 2
2 B G 2
3 A F 1

최종 결과는 TeamPosition 열에 있는 각 고유한 값 조합의 빈도를 포함하는 DataFrame입니다.

추가 리소스

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

Pandas: GroupBy 및 값 개수를 사용하는 방법
Pandas: Bin 개수와 함께 GroupBy를 사용하는 방법
Pandas: 조건이 있는 열의 값을 계산하는 방법

의견을 추가하다

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