📜  Python|熊猫系列.nsmallest()(1)

📅  最后修改于: 2023-12-03 15:04:27.505000             🧑  作者: Mango

Python pandas系列 - nsmallest()

当我们需要处理大型数据时,通常需要从数据集中获取最大或最小的值。 pandas库提供了很多方便的函数来处理数据集,其中之一是nsmallest()函数。这个函数可以用来查找指定列中的最小值并返回一组索引。

以下是使用nsmallest()函数的基本语法:

DataFrame.nsmallest(n, columns, keep='first')

其中,参数包括:

  • n:返回索引数量;
  • columns:指定需要考虑的列;
  • keep:用于指定删除多余行的规则,第一个或最后一个。

返回值:

  • 返回一个由最小元素的索引组成的列表。

这个函数主要用于查找数据集中的最小值,而不是最大值。如果要获取最大值,请使用nlargest()函数。

下面我们来看一个实际使用nsmallest()函数的例子。假设我们有一个包含学生姓名及数学和英语成绩的数据集:

import pandas as pd

data = {"Name": ["Alice", "Bob", "Charlie", "David", "Eric", "Frank"],
        "Math": [90, 75, 82, 93, 87, 65],
        "English": [89, 92, 76, 88, 91, 82]}

df = pd.DataFrame(data)

我们要查找数学成绩最低的两个学生的姓名和成绩,可以使用nsmallest()函数:

result = df.nsmallest(2, "Math")
print(result[["Name", "Math"]])

输出结果为:

      Name  Math
5    Frank    65
1      Bob    75

可以看出,根据数学成绩,Frank和Bob是最低的两个成绩,他们的成绩分别为65和75。

需要注意的是,如果数据集中有多个检索到的最小值,则根据参数keep指定的规则来保留或删除多余行。默认情况下,keep参数设置为“first”,就是删除除第一个找到的最小值以外的所有行。如果将参数设置为“last”,则会删除最后找到的最小值以外的所有行。

总的来说,nsmallest()函数是pandas库中一个非常有用的函数,它可以快速查找数据集中的最小值,并返回相应的索引。此外,该函数还具有删除多余行的能力,使得数据集处理更加灵活和高效。