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 になります。