我觉得奇怪的是 numpy.power 没有轴参数...是因为有更好/更安全的方法来实现相同的目标(将 3D 数组中的每个 2D 数组提升到 1D 数组的幂)。
假设您有一个 (3,10,10) 数组 (A),并且您希望将每个 (10,10) 数组提升到形状为 (3,) 的数组 B 中的元素的幂。你应该可以通过使用来做到这一点np.power(A,B,axis=0)
,对吧?然而它会产生以下 TypeError :
TypeError: 'axis' is an invalid keyword to ufunc 'power'
由于似乎 power 没有轴或轴参数(尽管是 ufunc),所以首选的方法是什么?
可能有一个使用该ufunc.reduce
方法的解决方案,但我真的不知道它会如何工作numpy.power
......
现在我做:
np.array([A[i,:,:]**B[i] for i in range(3)])
但它看起来很难看,并且可能不如 numpy 方法有效。
谢谢