我有一个按df
分组的数据框ID
。对于每个组,有一行具有标志,该标志标识其第一个实例'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)
这一直困扰着我。
答案 0 :(得分:5)
这里是兄弟,
0