Daw*_*wei 3 python data-mining pandas
用户-用户相似度矩阵,其中某些行具有重复的值,并且 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
Run Code Online (Sandbox Code Playgroud)
我想对每行的相似性分别进行排名。像这样:
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
Run Code Online (Sandbox Code Playgroud)
相同值之间的等级并不重要。但这必须是一个独特的价值。并且NaN必须保留。
我尝试了df.rank(ascending =False,axis = 1)(doc),但未能给我排名的明显价值。
我也尝试过scipy.stats.rankdata(doc),但是不能保留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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1366 次 |
| 最近记录: |