Как получить матрицу из массивов? Здравствуйте! Проблема такая. Имею 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)
Для решения данной задачи нужно использовать срезы массивов, чтобы получить нужные элементы. После этого можно создать матрицу, используя функцию 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)
Этот код возьмет все элементы массивов, кроме последних, и объединит их в матрицу.
Для решения данной задачи нужно использовать срезы массивов, чтобы получить нужные элементы. После этого можно создать матрицу, используя функцию np.vstack.
Пример кода:
import numpy as nparray1 = [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)
Этот код возьмет все элементы массивов, кроме последних, и объединит их в матрицу.