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で相対周波数を計算する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です