pandas 的 Numba 嵌套函数

Numba nested functions with pandas

我有这个嵌套函数:

@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 函数。

非常感谢您的帮助

根据文档,您目前无法 return 内部函数:

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

此外,Numba 无法对 pandas 对象进行任何编译,因此您真的看不到用 numba.jit.

修饰此函数的任何好处