gpt4 book ai didi

python - 按特定列排序,但将具有相同主索引的项目放在一起

转载 作者:行者123 更新时间:2023-12-01 07:32:32 25 4
gpt4 key购买 nike

如果我有一个如下所示的数据框,其中用户和项目是索引。

user        item        value
2 a 5555
b 7777
3 c 9999
d 2222
1 e 6666

我该如何处理以使值相应地排序,但如果两个项目具有相同的用户,则无论如何它们都会保留在一起?

user        item        value
3 c 9999
d 2222
2 b 7777
a 5555
1 e 6666.

得到类似上面的东西。它按用户的最大值排序,但具有相同用户的项目保留在一起。

最佳答案

IIUC,您想按每个组中的最大值排序,然后按每行的值排序:

# max value for each user
df['max_val'] = df.groupby('user')['value'].transform('max')
(df.sort_values(['max_val', 'user', 'value'], ascending=False)
.drop('max_val', axis=1) # drop the max value
)

输出:

           value
user item
3 c 9999
d 2222
2 b 7777
a 5555
1 e 6666

关于python - 按特定列排序,但将具有相同主索引的项目放在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57152717/

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