Задать вопрос
@Timebird

Как получить матрицу из массивов?

Здравствуйте! Проблема такая.
Имею 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))
  • Вопрос задан
  • 443 просмотра
Подписаться 2 Оценить 7 комментариев
Решения вопроса 2
@GeneD88
QA
def shiftList(lst, n):
    n = n % len(lst)
    return lst[n:] + lst[:n]

a = [1, 2, 3, 4, 5, 6, 7]
shiftList(a,1)

>>> [2, 3, 4, 5, 6, 7, 1]

Ну, а раз вы используете numpy, то
import numpy
a = [1, 2, 3, 4, 5, 6, 7]
numpy.roll(a,1)
Ответ написан
Комментировать
AnnTHony
@AnnTHony
Интроверт
a = [1, 2, 3, 4, 5, 6, 7]
x = []
x.extend(a[1:len(a)])
x.append(a[0])
x
>>> [2, 3, 4, 5, 6, 7, 1]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы