numba np.diff 轴=0
使用 numba 时,axis=0
是 np.sum()
可接受的参数,但不适用于 np.diff()
。为什么会发生这种情况?我正在使用 2D,因此需要轴规格。
@jit(nopython=True)
def jitsum(y):
np.sum(y, axis=0)
@jit(nopython=True)
def jitdiff(y): #this one will cause error
np.diff(y, axis=0)
错误:np_diff_impl() 得到了意外的关键字参数“axis”
2D 中的解决方法是:
@jit(nopython=True)
def jitdiff(y):
np.diff(y.T).T
While using numba, axis=0
is acceptable parameters for np.sum()
, but not with np.diff()
. Why is this happening? I'm working with 2D, thus axis specification is needed.
@jit(nopython=True)
def jitsum(y):
np.sum(y, axis=0)
@jit(nopython=True)
def jitdiff(y): #this one will cause error
np.diff(y, axis=0)
Error: np_diff_impl() got an unexpected keyword argument 'axis'
A workaround in 2D will be:
@jit(nopython=True)
def jitdiff(y):
np.diff(y.T).T
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
np.diff
在具有n=1
的二维数组上,axis=1
仅适用于
axis=0
:我怀疑上面的行可以用 numba 编译得很好。
np.diff
on a 2D array withn=1
,axis=1
is justFor
axis=0
:I suspect that the lines above will compile just fine with numba.
该函数只是解决两次调用 .diff 函数以获得 2 阶差的问题的另一个版本
尝试运行此代码,我尝试为一阶和二阶差创建求和函数和差函数的函数。
This function is just another version of solving the problem calling the .diff function twice for order 2 difference
Try running this code, I tried to create functions for sum function and difference function for 1st order and 2nd order difference.