【发布时间】:2018-05-06 10:37:28
【问题描述】:
我有什么
一个用户-用户相似度矩阵,其中一些行具有重复值和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(ascending =False,axis = 1) (doc),但未能给我一个独特的排名值。
我也试过scipy.stats.rankdata(doc),但它不能保持NaN。
【问题讨论】:
标签: python pandas data-mining