根据DateTime字段对pandas数据帧进行排序

时间:2016-07-14 14:29:23

标签: sorting pandas dataframe

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

我的数据框如下所示:

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

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

df.sort_values(by='DateTime1',ascending=True)

我没有得到理想的结果。

输出:

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

3 个答案:

答案 0 :(得分:3)

您的代码应该有效吗?

尝试

df = df.sort_values(by='DateTime1',ascending=True)
df

您可以创建索引

df.set_index('DateTime1', drop=True, append=False, inplace=True, verify_integrity=False)
df = df.sort_index()

答案 1 :(得分:1)

您尝试分配回数据框吗?

df = df.sort_values(by='DateTime1',ascending=True)
df

此df应该具有排序的值

答案 2 :(得分:-1)

您没有覆盖df,例如:

df = df.sort_values(by='DateTime1',ascending=True)