减去矩阵中的某一行

2024-05-13 00:10:41 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有一个4乘4的矩阵。[[1,2,3,4],[2,3,4,5],[3,4,5,6],[4,5,6,7]]

我需要用[1,2,3,4]减去第二行

如果可能的话,就不要努比。我是个初学者,不知道怎么用

thnx公司


Tags: 公司矩阵初学者thnx
1条回答
网友
1楼 · 发布于 2024-05-13 00:10:41

使用常规Python循环:

a = [[1,2,3,4],[2,3,4,5],[3,4,5,6],[4,5,6,7]]
b = [1,2,3,4]
for i in range(4):
    a[1][i] -= b[i]

只需在b列表中的条目上循环,并从a[1]中相应的条目中减去a矩阵的第二个列表(即行)。你知道吗

不过,NumPy可以更快、更容易地完成这项工作,而且学习起来也不难:

In [47]: import numpy as np
In [48]: a = np.array([[1,2,3,4],[2,3,4,5],[3,4,5,6],[4,5,6,7]])

In [49]: a
Out[49]: 
array([[1, 2, 3, 4],
       [2, 3, 4, 5],
       [3, 4, 5, 6],
       [4, 5, 6, 7]])

In [50]: a[1] -= [1,2,3,4]

In [51]: a
Out[51]: 
array([[1, 2, 3, 4],
       [1, 1, 1, 1],
       [3, 4, 5, 6],
       [4, 5, 6, 7]])

请注意,NumPy将其许多操作(如减法)矢量化,因此所涉及的循环将为您处理(在快速的预编译C代码中)。你知道吗

相关问题 更多 >