Вероятно, это репост, но я не уверен, какую формулировку использовать для заголовка.
Я пытаюсь вычесть значения массивов внутри массивов, изменив их форму для создания большего массива.
xn = np.array([[1,2,3],[4,5,6]])
yn = np.array(([1,2,3,4,5], [6,7,8,9,10]])
xn.shape
Out[42]: (2, 3)
yn.shape
Out[43]: (2, 5)
Мне нужна следующая функциональность:
yn.reshape(2,-1,1) - xn
Это выдает ошибку значения, но приведенное ниже прекрасно работает, когда я удаляю первое измерение как фактор:
yn.reshape(2,-1,1)[0] - xn[0]
Out[44]:
array([[ 0, -1, -2],
[ 1, 0, -1],
[ 2, 1, 0],
[ 3, 2, 1],
[ 4, 3, 2]])
Какой будет первый выход, который я ожидал, потому что оба xn
и yn
имеют первое измерение 2.
Есть ли правильный способ сделать это с желаемой трансляцией?
Желаемый вывод:
array([[[ 0, -1, -2],
[ 1, 0, -1],
[ 2, 1, 0],
[ 3, 2, 1],
[ 4, 3, 2]],
[[2, 1, 0],
[3, 2, 1],
[4, 3, 2],
[5, 4, 3],
[6, 5, 4]]])