Numba вложенные функции с пандами - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть эта вложенная функция:

@jit
def offset_period_generator(offset, period, forward=False):
    def offset_period(curr_datetime):
        if not forward: return (curr_datetime - (pd.Timedelta(offset) + pd.Timedelta(period)),
                                curr_datetime - pd.Timedelta(offset))
        return (curr_datetime + pd.Timedelta(offset) - pd.Timedelta(period),
                curr_datetime + pd.Timedelta(offset))
    return offset_period

Выдает следующую ошибку: Numba обнаружила использование языковой функции, которую она не поддерживает в этом контексте: (код операции: make_function не поддерживается).Если эта функция явно поддерживается, вполне вероятно, что результат выражения используется неподдерживаемым образом.

Я прочитал документацию, и предполагается, что Numba поддерживает вложенные функции Python.

Буду очень признателен за вашу помощь

1 Ответ

0 голосов
/ 07 декабря 2018

Согласно документам, в настоящее время вы не можете вернуть внутреннюю функцию:

http://numba.pydata.org/numba-doc/latest/reference/pysupported.html#inner-function-and-closure

Кроме того, Numba не может выполнять компиляцию объектов pandas, поэтому вы действительно не увидите никакихпреимущество украшения этой функции с numba.jit.

...