在矩阵中添加相邻行的组合

时间:2018-10-31 16:41:00

标签: python arrays numpy matrix

这是我的第一篇文章,我是python初学者-感谢所有帮助!

我正在尝试在numpy矩阵中添加相邻行的所有组合。即第1行+第2行,第2行+第3行,第3行+第4行等,并输出到列表中

然后我将寻找这些输出中最小的输出,并在列表中选择要打印的项目

我相信我需要使用某种for循环,但是我确实是一个新手...

2 个答案:

答案 0 :(得分:0)

只需遍历数组的长度-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])]

答案 1 :(得分:0)

假设您有

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函数文档,与lists相同