根据DateTime字段对熊猫数据框进行排序

use*_*653 4 sorting dataframe pandas

我正在尝试根据数据类型为datetime64 [ns]的DateTime字段对数据框进行排序。

我的数据框如下所示:

Name    DateTime1
P38     NaT
P62     2016-07-13 16:03:32.771
P59     2016-06-23 14:23:42.461
P07     NaT
P16     2016-06-23 14:02:06.237
P06     2016-07-13 16:03:52.570
P106    2016-07-13 19:56:22.676
Run Code Online (Sandbox Code Playgroud)

当我使用DateTime字段对其进行排序时,

df.sort_values(by='DateTime1',ascending=True)
Run Code Online (Sandbox Code Playgroud)

我没有得到想要的结果。

输出:

Name    DateTime1
P16     2016-06-23 14:02:06.237
P59     2016-06-23 14:23:42.461
P62     2016-07-13 16:03:32.771
P06     2016-07-13 16:03:52.570
P106    2016-07-13 19:56:22.676
P38     NaT
P07     NaT
Run Code Online (Sandbox Code Playgroud)

toa*_*eez 5

您的代码应该工作吗?

尝试

df = df.sort_values(by='DateTime1',ascending=True)
df
Run Code Online (Sandbox Code Playgroud)

您可以创建一个索引

df.set_index('DateTime1', drop=True, append=False, inplace=True, verify_integrity=False)
df = df.sort_index()
Run Code Online (Sandbox Code Playgroud)