Я ищу способ реализации оператора "как" в numpy
. В частности, если:
t1
- n
-вектор меток времени в строго возрастающем порядке;
d1
является n x p
матрицей наблюдений, с i
-ой строкой, соответствующей t1[i]
;
t2
в m
-векторе временных меток, также в строго возрастающем порядке;
Мне нужно создать матрицу m x p
d2
, где d2[i]
- это просто d1[j]
для наибольшего значения j
, такого, что t1[j] <= t2[i]
.
Другими словами, мне нужно получить строки d1
с отметок времени в t2
.
Легко написать это на чистом Python, но мне интересно, есть ли способ избежать интерпретируемых циклов (n
, m
и p
довольно большие).
Временные метки: datetime.datetime
объектов. Наблюдения являются значениями с плавающей точкой.
edit : Для записей, где t1[j] <= t2[i]
не может быть удовлетворено (т. Е. Когда отметка времени в t2
предшествует всем отметкам времени в t1
), в идеале я хотел бы получить строки NaN
с.