Chr*_*ris 5 python rank pandas
我在Pandas中对浮点变量进行排名,我想强制排名是唯一的(在关系中没有重复的排名.)
这是发生的事情:
vals = pd.Series([0.0133, 0.0018, np.nan, 0.0006, 0.0006])
vals.rank(ascending=False, method='dense')
0 1.0
1 2.0
2 NaN
3 3.0
4 3.0
Run Code Online (Sandbox Code Playgroud)
我希望结果是
0 1.0
1 2.0
2 NaN
3 3.0
4 4.0
Run Code Online (Sandbox Code Playgroud)
我可以使用该rank方法执行此操作,还是必须使用某些排序和循环逻辑手动执行此操作?
您可以使用first该方法(请参阅Series.rank文档):
first:按顺序分配的排名,它们出现在数组中
ser = pd.Series([1, 2, np.nan, 3, 3, 4])
ser.rank(method='first')
Out:
0 1.0
1 2.0
2 NaN
3 3.0
4 4.0
5 5.0
dtype: float64
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1349 次 |
| 最近记录: |