在熊猫中对具有多个条件的数据进行排序[关闭]

Posted

技术标签:

【中文标题】在熊猫中对具有多个条件的数据进行排序[关闭]【英文标题】: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
...

我要对数据进行排序:

    按 AAA 和 BBB 排序

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

    对于 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 非常陌生,在此先感谢您。

【问题讨论】:

到底是什么问题?你在哪个部分苦苦挣扎?你有没有尝试过,做过任何研究? Stack Overflow 不是免费的代码编写服务,也不是教程和文档的替代品。请参阅:tour、How to Ask、help center、meta.***.com/questions/261592/…。 【参考方案1】:

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

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

【讨论】:

重新赋值或添加 inplace=True 确保日期时间也是实际日期时间,以获得良好的解决方案;)

以上是关于在熊猫中对具有多个条件的数据进行排序[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在熊猫中对月份和年份进行排序以进行时间序列可视化?

如何使用熊猫将多行组合成具有多条件的行[关闭]

如何将具有多个标题行的csv文件读入熊猫? [关闭]

如何同时对熊猫数据框中的列进行排序[重复]

如何在熊猫中按值计数对列进行排序

我如何在熊猫中对这个操作进行矢量化?