📅  最后修改于: 2023-12-03 15:04:27.505000             🧑  作者: Mango
当我们需要处理大型数据时,通常需要从数据集中获取最大或最小的值。 pandas库提供了很多方便的函数来处理数据集,其中之一是nsmallest()
函数。这个函数可以用来查找指定列中的最小值并返回一组索引。
以下是使用nsmallest()
函数的基本语法:
DataFrame.nsmallest(n, columns, keep='first')
其中,参数包括:
返回值:
这个函数主要用于查找数据集中的最小值,而不是最大值。如果要获取最大值,请使用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库中一个非常有用的函数,它可以快速查找数据集中的最小值,并返回相应的索引。此外,该函数还具有删除多余行的能力,使得数据集处理更加灵活和高效。