如何仅对熊猫组中的某些行进行排序?

马丁·波巴克

我有一个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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章