按日期时间对象排序numpy数组

时间:2015-08-24 09:40:01

标签: python sorting datetime numpy

我有两个numpy数组:{/ 1>形式的date_month

array([datetime.datetime(2013, 1, 1, 12, 0),
       datetime.datetime(2013, 9, 1, 12, 0),
       datetime.datetime(2013, 5, 1, 12, 0)], dtype=object)
表单的

emission_each_month

array([5,7,3])

emission_each_month的条目5属于时间戳(2013,1,1,12,0),7属于(2013,9,1,12,0),3属于(2013,5 ,1,12,0)。 (实际上我的数据要大得多)

我希望按日期对数据进行排序。我怎么做?

1 个答案:

答案 0 :(得分:1)

您可以使用numpy.argsort()获取datetime对象的排序数组的索引,然后使用返回的索引对数组进行排序 - emission_each_month。示例 -

In [66]: import datetime

In [67]: import numpy as np

In [68]: n = np.array([5,7,3])

In [69]: d = np.array([datetime.datetime(2013, 1, 1, 12, 0), datetime.datetime(2013, 9, 1, 12, 0), datetime.datetime(2013, 5, 1, 12, 0)])

In [72]: n[np.argsort(d)]
Out[72]: array([5, 3, 7])