gpt4 book ai didi

python - 如何对 pandas.DataFrame 中的每一行进行明确排名

转载 作者:太空宇宙 更新时间:2023-11-03 14:02:33 25 4
gpt4 key购买 nike

我有什么

一些行有重复值和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

相同值之间的排名并不重要。但它必须是一个独特的值(value)。并且必须保留 NaN

我累了

我尝试了 df.rank(ascending =False,axis = 1) ( doc ),但未能给我一个独特的等级值。
我也试过 scipy.stats.rankdata ( doc ),但它不能保持 NaN

最佳答案

使用 rankmethod='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

关于python - 如何对 pandas.DataFrame 中的每一行进行明确排名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47438949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com