【问题标题】:Order the data with multiple conditions in pandas [closed]在熊猫中对具有多个条件的数据进行排序[关闭]
【发布时间】:2020-06-11 18:05:48
【问题描述】:

我有这样的数据:

ID   daea01               date02                  ID_NUM
AAA  2000-01-01 00:00:00  2000-02-02 01:01:01     12345
BBB  2000-05-01 00:00:00  2000-03-02 01:01:01     52489
AAA  2000-05-01 00:00:00  2000-01-02 01:01:01     12548
AAA  2000-01-01 00:00:00  2000-02-01 01:01:01     78954
...
AAA  2000-01-01 00:00:00  2000-08-02 01:01:01     12345
BBB  2000-05-01 00:00:00  2000-06-02 01:01:01     52489
AAA  2000-05-01 00:00:00  2000-06-02 01:01:01     12548
BBB  2000-01-01 00:00:00  2000-02-02 01:01:01     78954
...

我要对数据进行排序:

  1. 按 AAA 和 BBB 排序

  2. 对于每个 AAA 或 BBB,从最早的日期时间开始排序 date01

  3. 对于 AAA 和 date01 的组合,将 date02 排序(同一个 datetime 组放在一起,并且从最旧的 datetime 开始排序)

这是预期的结果:

ID   daea01               date02                  ID_NUM
AAA  2000-01-01 00:00:00  2000-02-01 01:01:01     78954
AAA  2000-01-01 00:00:00  2000-02-02 01:01:01     12345
AAA  2000-01-01 00:00:00  2000-08-02 01:01:01     12345
AAA  2000-05-01 00:00:00  2000-01-02 01:01:01     12548
AAA  2000-05-01 00:00:00  2000-06-02 01:01:01     12548
BBB  2000-01-01 00:00:00  2000-02-02 01:01:01     78954
BBB  2000-05-01 00:00:00  2000-03-02 01:01:01     52489
BBB  2000-05-01 00:00:00  2000-06-02 01:01:01     52489
...

对 Python 非常陌生,在此先感谢您。

【问题讨论】:

标签: python pandas date datetime jupyter-notebook


【解决方案1】:

您可以像这样对 Dataframe 进行排序:

df.sort_values(by=['ID', 'daea01','date02'])

【讨论】:

  • 重新赋值或添加 inplace=True
  • 确保日期时间也是实际日期时间,以获得良好的解决方案;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-07-25
  • 2020-05-12
  • 1970-01-01
  • 2019-04-12
  • 2020-01-11
  • 2018-06-28
  • 2021-02-21
相关资源
最近更新 更多