如何在 Pandas 系列中显示最常出现的值?


在本教程中,我们将学习如何在 Python 的帮助下显示 Pandas 系列中最常出现的值。在本教程中,我们将使用 Pandas 库。

系列是 Pandas 中的一种数据结构,类似于 Excel 表格或 SQL 表格中的一列。它是一种一维带标签的数据结构,可以容纳不同的数据类型,例如整数、浮点数、字符串等。

最常出现的值是在系列中出现次数最多的值。用数学术语来说,它是数据的众数。

方法 1

在 Pandas 系列中显示最常出现值的一种方法是使用 value_counts() 方法。它返回一个系列,其中包含每个唯一值的计数,并按降序排序。它包含系列中的原始值作为其索引。

语法

要使用 value_counts() 方法显示图像,您需要遵循以下语法:

counts = s.value_counts()
print(counts.index[0])

我们在系列 's' 上使用 'value_counts()' 方法来查找最常出现的值。'counts.index[0]' 将返回 counts 中第一个值的索引。然后我们将使用 print() 函数打印它。

示例

在此示例中,我们使用 Pandas 库的 Series() 函数来创建一个 Pandas 系列。我们将随机整数列表传递给 Series() 函数,该函数返回一个系列,我们将其存储在 's' 变量中。然后我们将使用 'counts.index[0]' 获取系列中最常出现的值。

然后我们将使用 print() 函数显示最常出现的值。

import pandas as pd

# create a Series with some repeated values
s = pd.Series([1, 2, 2, 3, 3, 3, 4])

# use value_counts() to get the counts of each unique value
counts = s.value_counts()

# print the most frequent value
print(counts.index[0])

输出

3

示例

在此示例中,我们有一个名为 'names' 的人员姓名列表。我们首先使用 pd.Series() 函数将列表 'names' 转换为 Pandas 系列数据结构。此系列称为 'word_series'。我们想从这个系列中找出最常出现的姓名。

'word_series' 系列的 value_counts() 方法获取列表中每个唯一姓名的计数。我们将它的返回值存储在 'word_counts' 变量中。

最后,我们通过使用 print() 函数访问 'word_counts' 系列索引的第一个元素来打印最常出现的姓名。

import pandas as pd

# a  list of words
names = ['Jessica Rodriguez', 'Emily Davis', 'Michael Chen', 'Samantha Lee', 'Michael Chen', 'David Brown', 'William Wilson', 'Emily Davis', 'Sarah Kim', 'Jessica Rodriguez', 'Michael Chen', 'Samantha Lee', 'Sarah Kim', 'John Smith', 'Jessica Rodriguez', 'Jessica Rodriguez']

# create a Series from the list of words
word_series = pd.Series(names)

# use value_counts() to get the counts of each unique word
word_counts = word_series.value_counts()

# print the counts
print("Most frequent name is", word_counts.index[0])

输出

Most frequent name is Jessica Rodriguez

方法 2

在 Pandas 系列中显示最常出现值的另一种方法是使用 mode() 方法。value_counts() 方法和 mode() 方法之间的区别在于,mode() 仅返回最常出现的值或如果存在平局则返回多个值,而不是每个唯一值的整个计数。

语法

要使用 mode() 方法显示最常出现的值,您需要遵循以下语法:

mode = s.mode()[0]
print(mode)

我们在系列 's' 上使用 'mode()' 方法,在其中我们想要查找最常出现的值。其返回值中的第零个元素将是 's' 的众数。然后我们将使用 print() 函数打印它。

示例

在此示例中,我们使用 Pandas 库的 Series() 函数来创建一个 Pandas 系列。我们将一些重复的随机整数列表传递给 Series() 函数,该函数从中创建一个系列数据结构,我们将其存储在 's' 变量中。然后我们将使用 's.mode()[0]' 获取系列中最常出现的值。

最后,我们将使用 print() 函数显示众数或最常出现的值。

import pandas as pd

# create a Series with some repeated values
s = pd.Series([1, 2, 2, 3, 3, 3, 4])

# use value_counts() to get the counts of each unique value
mode = s.mode()[0]

# print the most frequent value
print("The mode of the given series is", mode)

输出

The mode of the given series is 3

示例

在此示例中,我们使用人员出生年份的样本数据,其中有一些重复。我们将此数据作为列表传递给 Pandas Series() 函数,并将返回的系列存储在变量 's' 中。然后我们将对 's' 使用 mode() 方法以获取最常见的出生年份,并将其存储在 'mode' 变量中。

最后,print() 显示我们样本数据中最常出现的值。

import pandas as pd

# sample data of birth years
year_of_birth = [1990, 1992, 1993, 1993, 1994, 1995, 1995, 1995, 1996, 1997, 1997, 1998, 1999, 2000, 2000, 2001, 2002, 2002]

# create a Series with some repeated values
s = pd.Series(year_of_birth)

# use value_counts() to get the counts of each unique value
mode = s.mode()[0]

# print the most frequent value
print("The most common birth year is", mode)

输出

The most common birth year is 1995

结论

我们学习了如何使用不同的方法来显示 Pandas 系列数据结构中最常出现的值。我们还学习了如何使用 Pandas Series() 函数使用自定义数据创建系列。当我们必须在数据集中找到最常出现的元素时,上面讨论的方法非常方便,这对于数据分析师或处理数据的人员非常有用。

更新于:2023年5月12日

7K+ 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始
广告