📌  相关文章
📜  从 Pandas DataFrame 中的特定列获取 n 最小值(1)

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

从 Pandas DataFrame 中的特定列获取 n 最小值

在 Pandas 中,我们可以使用 DataFrame 类来方便地处理数据表格。有时我们需要获取 DataFrame 中某一列的前 n 个最小值,可以使用 nlargest 方法。

nlargest 方法

nlargest 方法用于获取 DataFrame 或者 Series 中前 n 个最大的元素,默认按照元素大小排序,可以通过设置 keep 参数进行不同排序方式的选择。

使用 nlargest 方法可以获取 DataFrame 中某一列的前 n 个最小值,只需要将参数 n 设置为你所需的个数,将参数 keep 设置为 'last',然后对该列应用 nlargest 方法即可。

下面是示例代码:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva'],
        'score': [90, 80, 70, 60, 50]}
df = pd.DataFrame(data)

n = 3  # 获取前3个最小值
column_name = 'score' # 指定获取最小值的列名

# 获取最小值
min_values = df.nlargest(n, column_name, keep='last')[column_name]

print(min_values)

输出结果为:

4    50
3    60
2    70
Name: score, dtype: int64

这就是所需的前 3 个最小值。

总结

DataFrame 中的 nlargest 方法很方便地获取 DataFrame 或者 Series 中前 n 个最大/最小的元素,并提供了多种排序方式的选择。在获取某一列的前 n 个最小值时,需要特别注意 keep 参数的设置。