gpt4 book ai didi

python - 根据列对数据帧进行 Argsort

转载 作者:行者123 更新时间:2023-12-03 15:53:50 25 4
gpt4 key购买 nike

我有以下数据帧:


用户身份
列_1
列_2
第 3 列


一种
4.959
3.231
1.2356


0.632
0.963
2.4556

C
3.234
7.445
5.3435

D
1.454
0.343
2.2343


我想对上一列的 w.r.t 列进行 argsort:


用户身份
第一的
第二
第三


一种
第 3 列
列_2
列_1


列_1
列_2
第 3 列

C
列_1
第 3 列
列_2

D
列_2
列_1
第 3 列

最佳答案

您可以使用 np.argsort 在轴 1 上。然后转换 df.columns使用 pd.Index.to_numpy 到 numpy 数组并使用 numpy 索引。

df = df.set_index('userId') # If userId is not index already.
idx = df.values.argsort(axis=1)
out = pd.DataFrame(df.columns.to_numpy()[idx], index=df.index)

0 1 2
userId
A column_3 column_2 column_1
B column_1 column_2 column_3
C column_1 column_3 column_2
D column_2 column_1 column_3

关于python - 根据列对数据帧进行 Argsort,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65481308/

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