Pandas DataFrame の nlargest メソッド

PythonPythonBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Pandas DataFrame の nlargest() メソッドを調べます。このメソッドを使用すると、指定された列または複数列に基づいて、DataFrame の上位 N 行を降順に取得できます。

VM のヒント

VM の起動が完了したら、左上隅をクリックして ノートブック タブに切り替え、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 を作成しましょう。名前、年齢、身長、体重の列を持つ 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 行を取得する

「身長」列に基づいて上位 2 行を取得するには、nlargest() メソッドを使用しましょう。次のコードを使用します。

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

このコードは、「身長」列で並べ替えられた上位 2 行からなる新しい DataFrame を返します。

異なる列を指定する

異なる列に基づいて上位 N 行を取得するにも、nlargest() メソッドを使用できます。次のコードを使用して、「年齢」列に基づいて上位 3 行を取得しましょう。

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

このコードは、「年齢」列で並べ替えられた上位 3 行からなる新しい DataFrame を返します。

keep パラメータを指定する

重複する値を持つ行の最初または最後の出現を優先するために、keep パラメータを指定できます。既定では、keep は 'first' に設定されています。「身長」列に基づいて上位 2 行を取得する際に keep='last' を指定しましょう。

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

このコードは、「身長」列で最大値を持つ最後の 2 行からなる新しい DataFrame を返します。

まとめ

この実験では、Pandas DataFrame で nlargest() メソッドをどのように使用するか学びました。このメソッドを使用すると、指定された 1 つまたは複数の列に基づいて上位 N 行を取得でき、降順に並べ替えられます。また、重複する値を持つ行の最初または最後の出現を優先するために keep パラメータを指定することもできます。このメソッドは、特定の基準に基づいて DataFrame 内の最大値または最高値を迅速に見つけるのに役立ちます。