Итак, у вас есть список массивов:
In [3]: alist = [np.array([1,0,0,1]) for i in range(3)]
In [4]: alist
Out[4]: [array([1, 0, 0, 1]), array([1, 0, 0, 1]), array([1, 0, 0, 1])]
Объедините их, чтобы они стали строками массива 2d:
In [5]: np.vstack(alist)
Out[5]:
array([[1, 0, 0, 1],
[1, 0, 0, 1],
[1, 0, 0, 1]])
, чтобы стать столбцами:
In [6]: np.column_stack(alist)
Out[6]:
array([[1, 1, 1],
[0, 0, 0],
[0, 0, 0],
[1, 1, 1]])
Код вашего комментария неясен, но:
for i in range(6):
np.column_stack((arrays[i]))
не имеет смысла и не следует column_stack
документам. column_stack
создает новый массив; он не работает на месте. Список append
работает на месте и является хорошим выбором при итеративном построении списка, но его не следует рассматривать как модель для построения массивов итеративно.
Все функции concatenate
и stack
требуют список массивов в качестве входных данных. Воспользуйтесь этим. И помните, они возвращают новый массив при каждом вызове. (это относится и к np.append
, но я не рекомендую использовать это).
Еще один вариант в семействе stack
:
In [7]: np.stack(alist, axis=1)
Out[7]:
array([[1, 1, 1],
[0, 0, 0],
[0, 0, 0],
[1, 1, 1]])