«as of» в numpy

Я ищу способ реализовать оператор «as of» в numpy . В частности, если:

  1. t1 - это n -вектор временных меток в строго возрастающем порядке;
  2. d1 - матрица наблюдений nxp , с i -й строкой, соответствующей t1 [i] ;
  3. t2 в m -векторе временных меток, также в строго возрастающем порядок;

Мне нужно создать матрицу mxp d2 , где d2 [i] просто d1 [j] для наибольшее значение j такое, что t1 [j] .

Другими словами, Мне нужно получить строки d1 с метки времени в t2 .

Это легко написать на чистом Python, но мне интересно, есть ли способ избежать интерпретируемых циклов ( n , m и p довольно большие).

Временные метки datetime.datetime объекты. Наблюдения представляют собой значения с плавающей запятой.

редактировать : для записей, где t1 [j] не может быть удовлетворено (то есть где временная метка в t2 предшествует всем временным меткам в t1 ), в идеале я хотел бы получить строки NaN с.

7
задан Saullo G. P. Castro 12 May 2013 в 21:40
поделиться