パンダ: 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 と値のカウントの使用方法
パンダ: グループごとにヒストグラムをプロットする方法

コメントを追加する

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