はじめに
この実験では、Pandas DataFrame の nlargest() メソッドを調べます。このメソッドを使用すると、指定された列または複数列に基づいて、DataFrame の上位 N 行を降順に取得できます。
VM のヒント
VM の起動が完了したら、左上隅をクリックして ノートブック タブに切り替え、Jupyter Notebook を使用して練習します。
場合によっては、Jupyter Notebook が読み込み完了するまで数秒待つ必要があります。Jupyter Notebook の制限により、操作の検証を自動化することはできません。
学習中に問題が発生した場合は、Labby にお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。
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 内の最大値または最高値を迅速に見つけるのに役立ちます。