Я пытаюсь ускорить процесс, я думаю, что это возможно, используя apply_along_axis от numpy.Проблема в том, что не все мои оси имеют одинаковую длину.
Когда я делаю:
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_apply_along_axis для массива numpy нерегулярной формы?