Как я могу добавить элементы в стек numpy в al oop? - PullRequest
0 голосов
/ 10 июля 2020

Этот код ..

array = np.array([[1, 2, 3], [3, 4, 5]])
for k in range(0, len(array)):
    final_array = np.hstack(array[k, :])
print(final_array)

Будет печатать только последний [3,4,5], а не весь массив в hstack.

Я пробовал сделать final_array + = np.hstack (array [k,:]) , но Python дает мне ошибку. Также пытался изменить форму массива перед конкатенацией.

Моя цель - добавить элементы массива в hstack в обратном порядке, поэтому я думаю, что мне нужно использовать al oop, а не просто вставлять весь массив в вызов hstack.

Все примеры, которые я нашел в сети, просты, когда у вас есть два массива и вы вызываете hstack. Но я не нашел ни одного, который объединял бы последовательные массивы в al oop.

Я предполагаю, что это просто, но решение ускользает от меня.

Заранее спасибо за предложения.

1 Ответ

3 голосов
/ 10 июля 2020

Ваш l oop продолжает перезаписывать final_array новым значением, поэтому в конце у вас остается только это значение из последней l oop итерации.

Создание массивов с использованием таких циклов проигрывает игру, это очень медленно. Вместо этого просто скажите np.hstack(array) и сделайте все за один go. Это будет в 10–100 раз быстрее.

...