pythonpandas排名_python-如何对pandas.DataFrame中的每一行分别进行排名

我有的

用户-用户相似度矩阵,其中某些行具有重复的值和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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值