Pandas DataFrame Nlargest 方法

PythonPythonBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在本实验中,我们将探索 Pandas DataFrame 中的 nlargest() 方法。该方法允许我们根据指定的列或列组,按降序检索 DataFrame 的前 N 行。

虚拟机提示

虚拟机启动完成后,点击左上角切换到 Notebook 选项卡,以访问 Jupyter Notebook 进行练习。

有时,你可能需要等待几秒钟,直到 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。

如果你在学习过程中遇到问题,请随时向 Labby 提问。实验结束后提供反馈,我们将及时为你解决问题。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL pandas(("Pandas")) -.-> pandas/DataSelectionGroup(["Data Selection"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) pandas(("Pandas")) -.-> pandas/DataManipulationGroup(["Data Manipulation"]) pandas(("Pandas")) -.-> pandas/DataCleaningGroup(["Data Cleaning"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) pandas/DataSelectionGroup -.-> pandas/select_rows("Select Rows") python/DataStructuresGroup -.-> python/lists("Lists") pandas/DataManipulationGroup -.-> pandas/sort_data("Sorting Data") pandas/DataCleaningGroup -.-> pandas/remove_duplicates("Removing Duplicates") python/ModulesandPackagesGroup -.-> python/using_packages("Using Packages") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") python/DataScienceandMachineLearningGroup -.-> python/data_analysis("Data Analysis") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills pandas/select_rows -.-> lab-68678{{"Pandas DataFrame Nlargest 方法"}} python/lists -.-> lab-68678{{"Pandas DataFrame Nlargest 方法"}} pandas/sort_data -.-> lab-68678{{"Pandas DataFrame Nlargest 方法"}} pandas/remove_duplicates -.-> lab-68678{{"Pandas DataFrame Nlargest 方法"}} python/using_packages -.-> lab-68678{{"Pandas DataFrame Nlargest 方法"}} python/data_collections -.-> lab-68678{{"Pandas DataFrame Nlargest 方法"}} python/data_analysis -.-> lab-68678{{"Pandas DataFrame Nlargest 方法"}} python/data_visualization -.-> lab-68678{{"Pandas DataFrame Nlargest 方法"}} end

创建 DataFrame

让我们从创建一个示例 DataFrame 开始。我们将使用以下代码创建一个包含 Name(姓名)、Age(年龄)、Height(身高)和 Weight(体重)列的 DataFrame:

import pandas as pd

df = pd.DataFrame({'Name':['Chetan','yashas','yuvraj','Pooja','Sindu','Renuka'],
                   'Age':[20,25,30,18,25,20],
                   'Height':[155,160,175,145,155,165],
                   'Weight':[75,60,75,45,55,65]})

这段代码创建了一个包含指定列和数据的 DataFrame。

使用 nlargest() 方法

nlargest() 方法允许我们根据指定的列检索前 N 行。使用该方法的语法如下:

df.nlargest(n, columns)
  • n 是一个整数,用于指定返回的行数。
  • columns 是一个标签或标签列表,表示用于排序的列。

检索前 N 行

让我们使用 nlargest() 方法根据 'Height' 列检索前 2 行。我们将使用以下代码:

top_n_rows = df.nlargest(2, 'Height')
print(top_n_rows)

这段代码将返回一个按 'Height' 列排序的前 2 行组成的新 DataFrame。

指定不同的列

我们也可以使用 nlargest() 方法根据不同的列检索前 N 行。让我们通过以下代码根据 'Age' 列检索前 3 行:

top_n_rows = df.nlargest(3, 'Age')
print(top_n_rows)

这段代码将返回一个按 'Age' 列排序的前 3 行组成的新 DataFrame。

指定 keep 参数

我们可以指定 keep 参数来优先处理具有重复值的行的第一个或最后一个出现。默认情况下,keep 设置为 'first'。让我们在根据 'Height' 列检索前 2 行时指定 keep='last'

top_n_rows = df.nlargest(2, 'Height', keep='last')
print(top_n_rows)

这段代码将返回一个包含 'Height' 列中最大值的最后 2 行组成的新 DataFrame。

总结

在本实验中,我们学习了如何在 Pandas DataFrame 中使用 nlargest() 方法。我们可以使用该方法根据指定的列或列组检索前 N 行,并按降序排列。我们还可以指定 keep 参数来优先处理具有重复值的行的第一个或最后一个出现。该方法对于根据特定条件快速查找 DataFrame 中的最大值或最高值非常有用。