python - Добавление комбинаций смежных строк в матрицу - PullRequest
0 голосов
/ 31 октября 2018

Это мой первый пост здесь, и я начинающий на питоне - вся помощь приветствуется!

Я пытаюсь добавить все комбинации смежных строк в матрицу Numpy. то есть строка 1 + строка 2, строка 2 + строка 3, строка 3 + строка 4 и т. д. ... с выводом в список

Затем я найду наименьший из этих выходов и выберу этот элемент в списке для печати. ​​

Я считаю, что мне нужно использовать какой-то цикл for, но я действительно новичок ...

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

Предположим, у вас есть это

import numpy as np 
arr = np.array([[1, 2, 3],
                [4, 5, 6],
                [7 , 8, 9]])

Вы можете сначала вычислить сумму каждой строки, используя np.sum(arr, axis=1) аргумент axis=1 позволяет суммировать записи каждого столбца для каждой строки.

В этом случае sums = np.sum(arr, axis=1) = array([ 6, 15, 24]).

Затем вы можете перебрать эту вкладку, чтобы добавить разные суммы:

lst_sums = []
for s in range(len(sums)-1) :
    lst_sums.append(sums[i]+sums[i+1])

Тогда вы можете sorted или получить np.min(sums)

Если вам нужна дополнительная информация, вы можете посмотреть документацию по функциям numpy , то же самое для списков

0 голосов
/ 31 октября 2018

Просто итерируйте по длине массива - 1 и добавляйте пары, когда вы входите в новый список. Затем выберите тот, который вы хотите. Например:

>>> x = np.array([[1,2,3], [4,5,6], [7,8,9]])
>>> print [x[i] + x[i+1] for i in range(len(x)-1)]
 [array([5, 7, 9]), array([11, 13, 15])]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...