2017-02-03 16 views
1

Возможно ли создать объекты NPDatetime в функции @jit (nopython = True)? Из того, что я могу сказать, для инициализации этих объектов требуется использование строковых объектов, которые, как представляется, препятствуют компиляции функций nopython.Использование numpy.datetime в функциях numba nopython?

ответ

1

Вы можете, безусловно, делать операции с numpy datetimes.

import numpy as np 
import numba as nb 

@nb.njit 
def diff_dt(a, b): 
    return a - b 

x = np.datetime64('2005-02-25') 
y = np.datetime64('2005-02-27') 

diff_dt(x, y) 

Вы, однако, не может создать объект типа DateTime, он появляется:

@nb.njit 
def create_dt(s): 
    return np.datetime64(s) 

# Fails 
create_dt('2005-02-25') 
+0

Можно ли передать массив Numpy DateTimes? – triphook

+0

Я не мог понять это немедленно, но вы можете посмотреть в тестах numba, чтобы узнать, можете ли вы это выяснить. Https://github.com/numba/numba/blob/a4e6d6689d11ddad4125a01c4e4ad19bc69c5759/numba/tests/test_npdatetime.py – JoshAdel

+0

В настоящее время невозможно использовать datetimes в numba. Numba позволяет использовать datetime64, но nopython = True не работает для массивов datetime64. –

 Смежные вопросы

  • Нет связанных вопросов^_^