我有一个按df分组的dataframe 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)我一整天都被这事绊倒了。
发布于 2018-03-31 00:44:54
这是兄弟,
df.sort_values(by=['ID', 'first', 'admit'],
ascending = [True, False, True],
inplace = True)https://stackoverflow.com/questions/49583055
复制相似问题