Pandasのrank関数を使ったデータの順位付け方法


まず最初に、Pandasをインポートします。

import pandas as pd

次に、順位付けを行いたいデータをDataFrameとして作成します。

data = {'名前': ['A', 'B', 'C', 'D', 'E'],
        'スコア': [80, 95, 70, 85, 90]}
df = pd.DataFrame(data)

データは名前とスコアの2つの列から構成されています。ここで、スコアに基づいてデータを順位付けしたいとします。

df['順位'] = df['スコア'].rank(ascending=False)

rank関数には、ascendingパラメータがあります。これをTrueに設定すると昇順で順位が付けられ、Falseに設定すると降順で順位が付けられます。上記の例では、降順で順位付けしています。

順位付けされたデータを確認するには、DataFrameを表示します。

print(df)

出力結果は以下のようになります。

  名前  スコア   順位
0  A   80  4.0
1  B   95  1.0
2  C   70  5.0
3  D   85  3.0
4  E   90  2.0

順位は新しい列として追加され、スコアに基づいて計算されました。

rank関数にはさまざまなオプションがあります。たとえば、同じスコアの場合に同じ順位を付けるために、methodパラメータを指定することができます。デフォルトでは'min'が使用され、同じスコアの場合に最小の順位が付けられます。他のオプションとしては、'max'、'first'、'dense'などがあります。

また、rank関数はデータフレームの特定の列だけでなく、行全体や複数の列に対しても適用することができます。

以上がPandasのrank関数を使用したデータの順位付けの方法です。この記事を参考にして、データ分析の際に役立ててください。