scipy
numpy
pandas
python3

Pythonで順位をつける

test.py
import numpy as np
import pandas as pd
from scipy import stats
test= np.array([2,4,3,5,8,8,16])
df=pd.DataFrame(test, columns=(['data']))
df = df.assign(ranking=len(df.data)-stats.mstats.rankdata(df.data)+1)#順位を作成してdfに追加 rankだとデフォルトのメソッドがあるのでrankingにしといた。
df[['ranking', 'data']].sort_values('data',ascending=False)#順位は左端につけたいのでSELECTしてdataで並び替え

実行結果

index ranking test
6 1 16
4 2.5 8
5 2.5 8
3 4 5
1 5 4
2 6 3
0 7 2

参考URL
http://johshisha.hatenablog.com/entry/2017/04/05/200454