![](/img/trans.png)
[英]Pandas.DataFrame: How to sort rows by the largest value in each row
[英]How to rank distinctly for each row in 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
。
使用rank
with 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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.