Как получить матрицу из массивов? Здравствуйте! Проблема такая.
Имею 2 массива на входе. Нужно на каждый элемент i первого массива (а потом и второго) получить (i-1)-ый элемент. То есть чтоб на месте i стоял элемент i-1, на месте i+1 стоял элемент i, на месте i+2 cтоял i+1 и так далее. И со вторым массивом то же самое. А потом эти два массива запихнуть в матрицу np.matrix (первый массив на первую строчку, второй массив на вторую). Как это рационально сделать и почему так не работает?list1 = []

for i in range(len(array1)):
a1 = array1[i-1]
list1.append(a1)
array1 = np.array(list1)

list2 = []

for i in range(len(array2)):
a2 = array2[i-1]
list2.append(a2)
array2 = np.array(list2)


total_array = np.vstack((array1, array2))

21 Авг 2019 в 07:04
189 +1
1
Ответы
1

Для решения данной задачи нужно использовать срезы массивов, чтобы получить нужные элементы. После этого можно создать матрицу, используя функцию np.vstack.

Пример кода:

import numpy as np
array1 = [1, 2, 3, 4]
array2 = [5, 6, 7, 8]
new_array1 = np.array(array1[:-1]) # получить все элементы, кроме последнего
new_array2 = np.array(array2[:-1])
total_array = np.vstack((new_array1, new_array2))
print(total_array)

Этот код возьмет все элементы массивов, кроме последних, и объединит их в матрицу.

20 Апр 2024 в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир