I\xc2\xb4m 很难在我的函数中实现 numba。
\n基本上,如果尚未添加新数据,我想连接到具有 22 列的数组。如果没有旧数据,新数据应该成为二维数组。
\n该函数在没有装饰器的情况下也可以正常工作:
\n@jit(nopython=True)\ndef add(new,original=np.array([])):\n duplicate=True\n if original.size!=0:\n for raw in original:\n for ii in range(11,19):\n if raw[ii]!=new[ii]:\n duplicate=False\n if duplicate==False:\n res=np.zeros((original.shape[0]+1,22))\n res[:original.shape[0]]=original\n res[-1]=new\n return res\n else:\n return original\n else:\n res=np.zeros((1,22))\n res[0]=new\n return res\nRun Code Online (Sandbox Code Playgroud)\n另外,如果我删除代码的最后一部分:
\n else:\n res=np.zeros((1,22))\n res[0]=new\n return res\nRun Code Online (Sandbox Code Playgroud)\n它可以与 njit 一起使用
\n因此,如果我忽略这种情况,即还没有\xc2\xb4t 旧数据,那么一切都会好起来的。
\n仅供参考:我传入的数据是混合 float 和 np.nan。
\n有人有想法吗?\n提前非常感谢!
\n这是我的错误日志:
\n---------------------------------------------------------------------------\nTypingError Traceback (most recent call last)\n<ipython-input-255-d05a5f4ea944> in <module>()\n 19 return res\n 20 #add(a,np.array([b]))\n---> 21 …Run Code Online (Sandbox Code Playgroud)