Pandas:如何将 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:将值表示为百分比(格式为小数)

以下代码显示如何计算团队列中每个值的出现次数,并将出现次数表示为总数的百分比(采用小数格式):

 #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:将值的数量表示为百分比(带数字)

以下代码显示如何计算team列中每个值的出现次数,并将出现次数表示为数字和百分比:

 #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

请注意,计数列显示团队列中每个唯一值的计数,而百分比列将每个唯一值显示为出现总数的百分比。

其他资源

以下教程解释了如何在 pandas 中执行其他常见任务:

Pandas:如何绘制价值账户
Pandas:如何使用 GroupBy 和值计数
Pandas:如何按组绘制直方图

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注