Python 如何为pandas.DataFrame中的每一行进行清晰的排序 我所拥有的

Python 如何为pandas.DataFrame中的每一行进行清晰的排序 我所拥有的,python,pandas,data-mining,Python,Pandas,Data Mining,用户-用户相似度矩阵,其中某些行具有重复值和NaN userId 316 320 359 370 910 userId 316 1.0 0.500000 0.500000 0.500000 NaN 320 0.5 1.000000 0.242837 0.019035 0.031737 359 0.5 0.2

用户-用户相似度矩阵,其中某些行具有重复值和
NaN

userId  316       320       359       370       910
userId                                             
316     1.0  0.500000  0.500000  0.500000       NaN
320     0.5  1.000000  0.242837  0.019035  0.031737
359     0.5  0.242837  1.000000  0.357620  0.175914
370     0.5  0.019035  0.357620  1.000000  0.317371
910     NaN  0.031737  0.175914  0.317371  1.000000
我想要什么 我想对每一行的相似性进行清楚的排序。像这样:

userId  316  320  359  370  910
userId                         
316       1    2    3    4   NaN
320       2    1    3    5    1
359       2    4    1    3    5
370       2    5    3    1    4
910      NaN   4    3    2    1
相同值之间的排名并不重要。但它必须是一个独特的值。和
NaN
必须保留

我累了什么 我尝试了
df.rank(升序=False,轴=1)
(),但没有给我一个不同的rank值。

我还尝试了
scipy.stats.rankdata
(),但它无法保持
NaN

使用
rank
method='first'

df.rank(1, ascending=False, method='first')

     316  320  359  370  910
316  1.0  2.0  3.0  4.0  NaN
320  2.0  1.0  3.0  5.0  4.0
359  2.0  4.0  1.0  3.0  5.0
370  2.0  5.0  3.0  1.0  4.0
910  NaN  4.0  3.0  2.0  1.0

我以为我接受了。但我发现我只是点击了向上投票按钮。很抱歉。