我有一个df
按分组的数据框ID
。对于每个组,都有一行带有标志的行,该标志标识其第一实例'First' == 1
。
我最终想按准入日期对每个组进行排序,但是,'First' == 1
无论其日期如何,我都需要将with作为该组的第一行。然后,我想根据录取日期对其余行进行排序。
样品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)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句