关键词

如何计算Pandas列中特定值的出现次数

计算 Pandas 列中特定值的出现次数可以使用 value_counts() 函数。下面是对该函数的详细讲解。

函数说明

函数定义:

Series.value_counts(normalize=False, sort=True, ascending=False, bins=None, dropna=True)

参数说明

  • normalize: 如果为 True,则返回相对频率(每个值的出现次数除以总元素数)。如果为 False,则返回绝对频率(每个值出现的次数)。
  • sort: 如果为 True,则按值进行排序。
  • ascending: 如果为 True,则按升序排序。如果为 False,则按降序排序 (默认值)。
  • bins: 将索引粘贴在该值中的值放在这些“箱子”中,以计算出具有指定箱限制的每个值的出现次数。例如,如果值是样本,这是实现离散化的基本方法。这是适用于:类似 hist ,但返回的是对象而不是绘制。输出推荐使用 Categorical 数据类型。
  • dropna: 如果为 True,则不包括 NaN 值的计数在内(默认值)。 如果为 False,则计算 NaN 值的频率。

返回值

该函数返回一个包含值计数的 Pandas Series,其中总计数为 Pandas Series 中的元素个数。

实例演示

假设我们有以下数据,它以 Pandas DataFrame 的形式呈现:

import pandas as pd

data = {'语文': [88, 76, 92, 70, 89], '数学': [67, 90, 62, 98, 88], '英语': [76, 78, 82, 88, 84]}
df = pd.DataFrame(data, index=['张三', '李四', '王五', '赵六', '钱七'])

print(df)

执行上述代码,输出结果如下:

    语文  数学  英语
张三  88  67  76
李四  76  90  78
王五  92  62  82
赵六  70  98  88
钱七  89  88  84

我们可以使用以下代码来计算 Pandas DataFrame 中每一列中各个数值的出现次数:

count = df['语文'].value_counts()
print(count)

执行上述代码,输出结果如下:

88    2
92    1
70    1
76    1
Name: 语文, dtype: int64

我们可以发现,输出结果包含每个值的出现次数以及该 Pandas Series 对象的索引(即语文成绩)。

如果我们希望按照出现次数降序(数量由高到低)排序,可以修改代码为:

count = df['语文'].value_counts(ascending=False)
print(count)

执行上述代码,输出结果如下:

88    2
70    1
76    1
92    1
Name: 语文, dtype: int64

这个示例说明如何计算 Pandas 列中特定值的出现次数,以及如何在计算过程中使用 value_counts() 函数的不同参数。

本文链接:http://task.lmcjl.com/news/17608.html

展开阅读全文