У меня есть массив Numpy формы (5,5,3,2). Я хочу взять элемент (1,4) этой матрицы, который также является матрицей формы (3,2), и добавить к нему элемент - так он становится массивом (4,2). код я использую следующее:Добавить массив numpy в элемент
import numpy as np
a = np.random.rand(5,5,3,2)
a = np.array(a, dtype = object) #So I can have different size sub-matrices
a[2][3] = np.append(a[2][3],[[1.0,1.0]],axis=0) #a[2][3] shape = (3,2)
Я всегда получить ошибку:
ValueError: could not broadcast input array from shape (4,2) into shape (3,2)
Я понимаю, что форма возвращается функцией np.append
не то же самое, как a[2][3]
sub-array, но я думал, что dtype=object
решит мою проблему. Однако мне нужно это сделать. Есть ли способ обойти это ограничение? Я также пытался использовать функцию insert
, но я не знаю, как добавить элемент в нужное место.
Это имеет смысл, если вы измените * каждый элемент '' 3 x 2' на '4 x 2', другие мудрые размеры не будут работать. – gobrewers14