Как вы получили эту ошибку измерения?При чем тут empty array
?
Список массивов одинаковой длины:
In [610]: alist = [np.linspace(0,1,6), np.linspace(10,11,6)]
In [611]: alist
Out[611]:
[array([0. , 0.2, 0.4, 0.6, 0.8, 1. ]),
array([10. , 10.2, 10.4, 10.6, 10.8, 11. ])]
Несколько способов сделать из них массив:
In [612]: np.array(alist)
Out[612]:
array([[ 0. , 0.2, 0.4, 0.6, 0.8, 1. ],
[10. , 10.2, 10.4, 10.6, 10.8, 11. ]])
In [614]: np.stack(alist)
Out[614]:
array([[ 0. , 0.2, 0.4, 0.6, 0.8, 1. ],
[10. , 10.2, 10.4, 10.6, 10.8, 11. ]])
Если вы хотите объединить их в столбцы, вы можете транспонировать один из вышеперечисленных или использовать:
In [615]: np.stack(alist, axis=1)
Out[615]:
array([[ 0. , 10. ],
[ 0.2, 10.2],
[ 0.4, 10.4],
[ 0.6, 10.6],
[ 0.8, 10.8],
[ 1. , 11. ]])
np.column_stack
также удобно.
В новых версиях NumPy выможет сделать:
In [617]: np.linspace((0,10),(1,11),6)
Out[617]:
array([[ 0. , 10. ],
[ 0.2, 10.2],
[ 0.4, 10.4],
[ 0.6, 10.6],
[ 0.8, 10.8],
[ 1. , 11. ]])
Вы не указываете, как вы создаете «пустой массив» и как вы пытаетесь складывать.Я не могу точно воссоздать сообщение об ошибке (полный обратный вызов помог бы).Но, учитывая это сообщение, вы проверили количество измерений входов?Они совпадают?
Сложно сложить массив в цикле.Вы должны обратить пристальное внимание на формы, особенно на исходный «пустой» массив.Нет близкого аналога пустому списку []
.np.array([])
это 1d с формой (1,).np.empty((0,6))
2d с формой (0,6).Также все функции суммирования создают новый массив с каждым вызовом (не работают на месте), поэтому они неэффективны (по сравнению с добавлением в список).