我正在尝试加快进程,我认为这可能使用 numpy 的 apply_along_axis 来实现。问题是并非我所有的轴都具有相同的长度。
当我做:
a = np.array([[1, 2, 3],
[2, 3, 4],
[4, 5, 6]])
b = np.apply_along_axis(sum, 1, a)
print(b)
这工作正常。但我想做类似的事情(请注意,第一行有 4 个元素,其余有 3 个):
a = np.array([[1, 2, 3, 4],
[2, 3, 4],
[4, 5, 6]])
b = np.apply_along_axis(sum, 1, a)
print(b)
但这失败了,因为:
numpy.AxisError:轴 1 超出维度 1 数组的范围
我环顾四周,发现唯一的“解决方案”是添加零以使所有数组的长度相同,这可能会破坏性能改进的目的。
有没有办法在非规则形状的 numpy 数组上使用 numpy_apply_along_axis ?
至尊宝的传说
红颜莎娜
相关分类