相关疑难解决方法(0)

TypingError:在 nopython 模式管道中失败(步骤:nopython 前端)

我正在尝试使用 numba jit 编写我的第一个函数,我有一个 Pandas 数据框,我需要遍历它并找到每 350 个点的均方根,因为 python 的 for 循环非常慢,我决定尝试使用 numba jit,代码是:

@jit(nopython=True)
def find_rms(data, length):
    res = []
    for i in range(length, len(data)):
        interval = np.array(data[i-length:i])
        interval =np.power(interval, 2)
        sum = interval.sum()
        resI = sum/length
        resI = np.sqrt(res)
        res.appennd(resI)
    return res

mydf = np.array(df.iloc[:]['c0'], dtype=np.float64)
df.iloc[350:]['rms'] = find_rms(mydf, 350)
Run Code Online (Sandbox Code Playgroud)

我在某处读到我需要指定数据类型,因此我写了“dtype = np.float64”,但我仍然收到错误消息:

---------------------------------------------------------------------------
TypingError                               Traceback (most recent call last)
<ipython-input-39-4d388f72efdc> in <module>
----> 1 df.iloc[350:]['rms'] = find_rms(mydf, 350.0)

c:\users\1\appdata\local\programs\python\python35\lib\site-packages\numba\dispatcher.py in _compile_for_args(self, *args, **kws)
    346                 e.patch_message(msg)
    347 
--> …
Run Code Online (Sandbox Code Playgroud)

python jit pandas numba

5
推荐指数
1
解决办法
6306
查看次数

标签 统计

jit ×1

numba ×1

pandas ×1

python ×1