Pandas:如何按日期时间对组数据进行排序?

Use*_*123 2 python datetime pandas

作为问题 Pandas 的扩展:按 A 列分组数据,按 B 列的现有值过滤 A我的数据现在每个值都有一个日期时间,如下所示:

2011-10-01 20:24:21
Run Code Online (Sandbox Code Playgroud)

编辑:起初数据具有正确的结构,但来自 dtype: object。我用以下方法更改了它:

dataset['Date']= pd.to_datetime(dataset['Date'])
Run Code Online (Sandbox Code Playgroud)

它是否正确?

所以目前,我有一个数据集,其结构如下所示:

_Group, Value, Date:_

A 2  **2011-10-01 20:24:21**

A 1   **2011-10-01 20:27:21**

A 3   **2011-10-01 20:25:21**

B 1   **2011-10-01 20:23:21**

B 2 **2011-10-01 20:26:21**

B 3 **2011-10-01 20:24:21**

B 3 **2011-10-01 20:25:21**
Run Code Online (Sandbox Code Playgroud)

我想根据日期时间对每个组的值进行排序。

--> 我已经检查过,数据时间的 dtype: datetime,但是当我尝试对其进行排序(升序)时,并非所有日期时间在组中都按正确的顺序排列。当我尝试只订购日期时,效果很好。

我尝试了以下代码:

  dataset.sort_values('Date').sort_index(level='Group')
Run Code Online (Sandbox Code Playgroud)

因此,日期的顺序是正确的,但有时它们与小时和秒无关。我的错误在哪里?

我很感谢任何帮助!

xyz*_*yne 5

您可以使用多个级别进行排序:

dataset.sort_values(['Group', 'Date'])
Run Code Online (Sandbox Code Playgroud)