パンダ: value_counts をパーセンテージとして表す方法
pandas でvalue_counts()関数を使用すると、DataFrame の特定の列内の値の出現をカウントできます。
値をパーセンテージとして表すには、次のいずれかの方法を使用できます。
方法 1: 値をパーセンテージとして表す (小数としてフォーマットされる)
df. my_col . value_counts (normalize= True )
方法 2: 値をパーセンテージとして表す (パーセント記号で書式設定)
df. my_col . value_counts (normalize= True ). mul ( 100 ). round ( 1 ). astype (str) + ' % '
方法 3: 値のカウントをパーセンテージとして表現します (カウントを使用)
counts = df. my_col . value_counts () percs = df. my_col . value_counts (normalize= True ) p.d. concat ([counts, percs], axis= 1 , keys=[' count ', ' percentage '])
次の例は、次の pandas DataFrame で各メソッドを実際に使用する方法を示しています。
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'B', 'B', 'B', 'C'], ' points ': [15, 12, 18, 20, 22, 28, 35, 40]}) #view DataFrame print (df) team points 0 to 15 1 to 12 2 B 18 3 B 20 4 B 22 5 B 28 6 B 35 7 C 40
例 1: 値をパーセンテージとして表現します (小数としてフォーマットされます)
次のコードは、チーム列内の各値の出現をカウントし、出現を合計に対する割合として 10 進数形式で表す方法を示しています。
#count occurrence of each value in 'team' column as percentage of total df. team . value_counts (normalize= True ) B 0.625 At 0.250 C 0.125 Name: team, dtype: float64
結果から次のことがわかります。
- 値B は、チーム列の出現の 62.5% を表します。
- 値A は、チーム列の出現の 25% を表します。
- C値は、チーム列の出現の 12.5% を表します。
パーセンテージは小数としてフォーマットされることに注意してください。
例 2: 値をパーセンテージとして表す (パーセント記号で書式設定)
次のコードは、チーム列内の各値の出現をカウントし、出現を合計に対するパーセントとしてパーセント記号でフォーマットして表す方法を示しています。
#count occurrence of each value in 'team' column as percentage of total df. team . value_counts (normalize= True ). mul ( 100 ). round ( 1 ). astype (str) + ' % ' B 62.5% At 25.0% C 12.5% Name: team, dtype: object
パーセントはパーセント記号を含む文字列としてフォーマットされることに注意してください。
例 3: 値の数値をパーセンテージとして表す (数値付き)
次のコードは、チーム列内の各値の出現をカウントし、出現を数値とパーセンテージで表す方法を示しています。
#count occurrence of each value in 'team' column counts = df. team . value_counts () #count occurrence of each value in 'team' column as percentage of total percs = df. team . value_counts (normalize= True ) #concatenate results into one DataFrame p.d. concat ([counts, percs], axis= 1 , keys=[' count ', ' percentage ']) count percentage B 5 0.625 At 2 0.250 C 1 0.125
カウント列にはチーム列の各一意の値の数が表示され、パーセンテージ列には各一意の値が合計出現数のパーセンテージとして表示されることに注意してください。
追加リソース
次のチュートリアルでは、パンダで他の一般的なタスクを実行する方法を説明します。
パンダ: 値勘定科目をプロットする方法
パンダ: GroupBy と値のカウントの使用方法
パンダ: グループごとにヒストグラムをプロットする方法