import pandas as pd
= [4, 16, 1, 10, 25, 15, 2, 3, 13]
rank = [8.93, 4.64, 10, 6.79, 1.43, 5, 9.64, 9.29, 5.71]
score
= pd.DataFrame(list(zip(rank, score)), columns=['排名', '得分'])
df ='排名', inplace=True)
df.sort_values(by
'得分差'] = df['得分'].diff()
df[
'排名差'] = df['排名'].diff()
df['得分差/排名差'] = df['得分'].diff() / df['排名'].diff()
df[
df
# 学科n个人参与排名,排名第1得满分(10分),排名倒数第1得10/n分,排第m名得10 - (m-1)*10/n分
# 10/0.36 = 27.777 ≈ 28,即心血管内科有28个专家参与排名。
排名 | 得分 | 得分差 | 排名差 | 得分差/排名差 | |
---|---|---|---|---|---|
2 | 1 | 10.00 | NaN | NaN | NaN |
6 | 2 | 9.64 | -0.36 | 1.0 | -0.360000 |
7 | 3 | 9.29 | -0.35 | 1.0 | -0.350000 |
0 | 4 | 8.93 | -0.36 | 1.0 | -0.360000 |
3 | 10 | 6.79 | -2.14 | 6.0 | -0.356667 |
8 | 13 | 5.71 | -1.08 | 3.0 | -0.360000 |
5 | 15 | 5.00 | -0.71 | 2.0 | -0.355000 |
1 | 16 | 4.64 | -0.36 | 1.0 | -0.360000 |
4 | 25 | 1.43 | -3.21 | 9.0 | -0.356667 |