- 単一の列を基準にランク付けする方法:
DataFrameの特定の列に基づいてデータをランク付けするには、
rank()
メソッドを使用します。例えば、以下のコードは"score"列を基準にデータをランク付けします。
import pandas as pd
df = pd.DataFrame({'Name': ['Alice', 'Bob', 'Charlie', 'David'],
'Score': [85, 92, 78, 90]})
df['Rank'] = df['Score'].rank(ascending=False)
このコードでは、"Score"列の値に基づいてデータがランク付けされ、"Rank"列にランクが追加されます。rank()
メソッドの引数ascending=False
は降順でのランク付けを指定しています。
- 複数の列を基準にランク付けする方法:
複数の列を基準にデータをランク付けする場合は、
sort_values()
メソッドと組み合わせて使用することができます。以下のコードでは、"score"列を優先し、同じ値の場合は"name"列に基づいてデータをランク付けしています。
df = df.sort_values(['Score', 'Name'], ascending=[False, True])
df['Rank'] = df.reset_index().index + 1
このコードでは、sort_values()
メソッドで"Score"列と"Name"列に基づいてデータをソートし、reset_index()
メソッドでインデックスをリセットします。最後に、インデックスに1を加えることでランクを計算し、"Rank"列に追加します。
これらはPandasのDataFrameでデータをランク付けするための一般的な方法です。他にも様々なオプションやパラメータがありますので、公式ドキュメントやオンラインのリソースを参考にして詳細を学ぶことをおすすめします。