gpt4 book ai didi

python - (Python/Pandas) 对值进行排序时的数据透视表

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

user_id_2     1        2          3         4         5    
user_id_1
1 0.000000 0.707107 0.388075 0.668153 0.559017
2 0.707107 0.000000 0.504916 0.491354 0.632456
>> 3 0.388075 0.504916 0.000000 0.373383 0.225618 <<
4 0.668153 0.491354 0.373383 0.000000 0.448211
5 0.559017 0.632456 0.225618 0.448211 0.000000

这些是一些计算的结果。我想知道是否可以选择一行并根据列对最高值进行排名。

例如。选择行user_id_1(3)

user_id_1      user_id_2
3 2
3 1
3 4
3 5
3 3

最佳答案

使用Series.argsortdescending order所选行的数量 DataFrame.loc ,获取列名称的新顺序并通过构造函数创建新的 DataFrame:

val = 3
df = pd.DataFrame({'user_id_1':val,
'user_id_2':df.columns[(-df.loc[val]).argsort()]})

print (df)
user_id_1 user_id_2
0 3 2
1 3 1
2 3 4
3 3 5
4 3 3

或者如果只想订购,请添加1:

val = 3
df = pd.DataFrame({'user_id_1':val,
'user_id_2':(-df.loc[val]).argsort() + 1})

print (df)
user_id_1 user_id_2
1 3 2
2 3 1
3 3 4
4 3 5
5 3 3

关于python - (Python/Pandas) 对值进行排序时的数据透视表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60033712/

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