gpt4 book ai didi

python - 如何仅对 pandas 中的一组中的某些行进行排序?

转载 作者:行者123 更新时间:2023-11-28 21:37:24 29 4
gpt4 key购买 nike

我有一个按 ID 分组的数据框 df。对于每个组,有一行具有一个标志,用于标识其第一个实例 'First' == 1

我最终想按录取日期对每个组进行排序,但是,我需要将 'First' == 1 的行作为该组的第一行,无论其日期如何。然后我想根据录取日期对剩余的行进行排序。

示例df:

ID     admit     discharge    discharge_location   first
20 3-4-2018 3-6-2018 Home 1
20 2-2-2018 2-6-2018 Home 0
20 2-5-2018 2-23-2018 Home 0
30 1-2-2018 2-3-2018 Home 0
30 1-15-2018 1-18-2018 Home 1
30 1-20-2018 1-24-2018 Home 0

预期df:

ID     admit     discharge    discharge_location   first
20 3-4-2018 3-6-2018 Home 1
20 2-2-2018 2-6-2018 Home 0
20 2-5-2018 2-23-2018 Home 0
30 1-15-2018 1-18-2018 Home 1
30 1-2-2018 2-3-2018 Home 0
30 1-20-2018 1-24-2018 Home 0

我的方法没有考虑到“第一”列是组中的第一个列。

df.sort_values(by=['ID','admit'], inplace=True)

这件事困扰了我一整天。

最佳答案

这是兄弟,

df.sort_values(by=['ID', 'first', 'admit'], 
ascending = [True, False, True],
inplace = True)

关于python - 如何仅对 pandas 中的一组中的某些行进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49583055/

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