网站搜索

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


计算列中特定值出现的次数是数据分析中的一项常见任务。幸运的是,Python 中的 pandas 库提供了一种快速、简单的方法来使用 value_counts() 方法来执行此操作。此方法返回一个 Pandas 系列,其中包含列中每个唯一值的计数。然后,您可以使用方括号和要计数的值来访问特定值的计数。

在本文中,我们将逐步介绍计算 pandas 列中特定值出现次数的步骤。我们将介绍如何创建 pandas DataFrame、将 CSV 文件读入 DataFrame 以及使用 value_counts() 方法来计算列中特定值出现的次数。我们还将讨论一些用于计算出现次数的常见用例,例如查找列中最常见的值或识别数据质量问题。

读完本文后,您将深入了解如何计算 pandas 列中特定值的出现次数,并且能够将这些知识应用到您自己的数据分析项目中。

使用 value_counts() 方法

计算 pandas 列中特定值出现次数的最简单方法是使用 value_counts() 方法。此方法返回一个 Pandas 系列,其中包含列中每个唯一值的计数。然后,您可以使用方括号和要计数的值来访问特定值的计数。

考虑下面所示的代码。

例子

import pandas as pd

# create a sample DataFrame
data = {'fruit': ['apple', 'orange', 'banana', 'apple', 'orange']}
df = pd.DataFrame(data)

# use value_counts() to count occurrences of 'apple'
count = df['fruit'].value_counts()['apple']

print(f"The number of apples is: {count}")

解释

在此示例中,我们首先创建一个示例 DataFrame,其中包含名为“fruit”的列。然后,我们使用 value_counts() 方法来计算“fruit”列中每个唯一值的出现次数。最后,我们使用方括号和值“apple”来访问值“apple”的计数。

输出

The number of apples is: 2

使用 group_by() 方法

另一种计算 pandas 列中特定值出现次数的方法是使用 groupby() 方法。此方法按指定列中的值对 DataFrame 进行分组,并允许您对每个组执行操作。

考虑下面所示的代码。

例子

import pandas as pd

# create a sample DataFrame
data = {'fruit': ['apple', 'orange', 'banana', 'apple', 'orange']}
df = pd.DataFrame(data)

# use groupby() and size() to count occurrences of 'apple'
count = df.groupby('fruit').size()['apple']

print(f"The number of apples is: {count}")

解释

在此示例中,我们首先创建一个示例 DataFrame,其中包含名为“fruit”的列。然后,我们使用 groupby() 方法按“fruit”列中的值对 DataFrame 进行分组。然后,我们使用 size() 方法来计算“fruit”列中每个唯一值的出现次数。最后,我们使用方括号和值“apple”来访问值“apple”的计数。

输出

The number of apples is: 2

使用布尔掩码

计算 pandas 列中特定值出现次数的第三种方法是使用布尔掩码。布尔掩码是 True/False 值的数组,可用于过滤 DataFrame。

考虑下面所示的代码。

例子

import pandas as pd

# create a sample DataFrame
data = {'fruit': ['apple', 'orange', 'banana', 'apple', 'orange']}
df = pd.DataFrame(data)

# use a boolean mask to count occurrences of 'apple'
mask = df['fruit'] == 'apple'
count = len(df[mask])

print(f"The number of apples is: {count}")

解释

在此示例中,我们首先创建一个示例 DataFrame,其中包含名为“fruit”的列。然后,我们创建一个布尔掩码,对于“fruit”列中的值为“apple”的行,该掩码为 True。然后,我们将布尔掩码应用于 DataFrame 并使用 len() 函数来计算与掩码匹配的行数。最后,我们打印出与掩码匹配的行数。

输出

The number of apples is: 2

结论

总之,计算 pandas 列中特定值的出现次数是数据分析中的一项常见任务,pandas 提供了多种方法来完成此任务。

在本文中,我们介绍了计算出现次数的三种不同方法:使用 value_counts() 方法、使用 groupby() 方法以及使用布尔掩码。

无论您选择哪种方法,计算 pandas 列中特定值的出现次数都是数据分析师和数据科学家的一项基本技能。

相关文章: