Python에서 상대 빈도를 계산하는 방법


상대 빈도는 데이터 세트의 전체 값 수에 비해 특정 값이 데이터 세트에 얼마나 자주 나타나는지 측정합니다.

Python에서 다음 함수를 사용하여 상대 빈도를 계산할 수 있습니다.

 def rel_freq (x):
freqs = [(value, x.count(value) / len(x)) for value in set(x)]
return freqs

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

예 1: 숫자 목록의 상대 빈도

다음 코드는 이 함수를 사용하여 숫자 목록의 상대 빈도를 계산하는 방법을 보여줍니다.

 #define data
data = [1, 1, 1, 2, 3, 4, 4]

#calculate relative frequencies for each value in list
rel_freq(data)

[(1, 0.42857142857142855),
 (2, 0.14285714285714285),
 (3, 0.14285714285714285),
 (4, 0.2857142857142857)]

이 출력을 해석하는 방법은 다음과 같습니다.

  • 데이터 세트에서 값 “1”의 상대 빈도는 0.42857 입니다.
  • 데이터 세트에서 값 “2”의 상대 빈도는 0.142857 입니다.
  • 데이터 세트에서 값 “3”의 상대 빈도는 0.142857 입니다.
  • 데이터 세트에서 값 “4”의 상대 빈도는 0.28571 입니다.

모든 상대도수를 합하면 1이 된다는 것을 알 수 있습니다.

예 2: 문자 목록의 상대 빈도

다음 코드는 이 함수를 사용하여 문자 목록의 상대 빈도를 계산하는 방법을 보여줍니다.

 #define data
data = ['a', 'a', 'b', 'b', 'c']

#calculate relative frequencies for each value in list
rel_freq(data)

[('a', 0.4), ('b', 0.4), ('c', 0.2)]

이 출력을 해석하는 방법은 다음과 같습니다.

  • 데이터 세트에서 값 “a”의 상대 빈도는 0.4 입니다.
  • 데이터 세트에서 “b” 값은 상대 빈도가 0.4 입니다.
  • 데이터 세트에서 “c” 값은 상대 빈도가 0.2 입니다.

다시 말하지만, 모든 상대 빈도의 합은 1이 됩니다.

예시 3: Pandas DataFrame의 열에 대한 상대 빈도

다음 코드는 이 함수를 사용하여 Pandas DataFrame의 특정 열에 대한 상대 빈도를 계산하는 방법을 보여줍니다.

 import pandas as pd

#define data
data = pd.DataFrame({'A': [25, 15, 15, 14, 19],
                     'B': [5, 7, 7, 9, 12],
                     'C': [11, 8, 10, 6, 6]})

#calculate relative frequencies of values in column 'A'
rel_freq( list (data['A']))

[(25, 0.2), (19, 0.2), (14, 0.2), (15, 0.4)]

이 출력을 해석하는 방법은 다음과 같습니다.

  • 값 “25”는 열에서 상대 빈도가 0.2 입니다.
  • 값 “19”는 열에서 상대 빈도가 0.2 입니다.
  • 값 “14”는 열에서 상대 빈도가 0.2 입니다.
  • 값 “15”는 열에서 상대 빈도가 0.4 입니다.

다시 말하지만, 모든 상대 빈도의 합은 1이 됩니다.

추가 리소스

상대빈도 계산기
상대 빈도 히스토그램: 정의 + 예
Excel에서 상대 빈도를 계산하는 방법

의견을 추가하다

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