Python 按日期时间对象对numpy数组排序
我有两个numpy数组:Python 按日期时间对象对numpy数组排序,python,sorting,datetime,numpy,Python,Sorting,Datetime,Numpy,我有两个numpy数组:date\u 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) array([5,7,3]) 以及表格的每个月的排放量 array([datetime.datetime(2013, 1, 1, 12, 0),
date\u 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)
array([5,7,3])
以及表格的每个月的排放量
array([datetime.datetime(2013, 1, 1, 12, 0),
datetime.datetime(2013, 9, 1, 12, 0),
datetime.datetime(2013, 5, 1, 12, 0)], dtype=object)
array([5,7,3])
每个月排放量的条目5属于时间戳(2013,1,1,12,0),7属于(2013,9,1,12,0),3属于(2013,5,1,12,0)。
(实际上,我的数据要大得多)
我想让我的数据按日期排序。如何实现这一点?您可以使用获取datetime对象的排序数组的索引,然后使用返回的索引对数组进行排序—emission\u每个月
。范例-
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])