如何对矩阵中的每一行执行操作并将其复制到另一个矩阵? data1 和 data2 是大小为 n*4 的矩阵,我需要为每个元素添加 1。
import numpy as np
import sys
data1=np.matrix('1 1 1 1;2 2 2 2;3 3 3 3;4 4 4 4')
row1=np.matrix('1 1 1 1')
for row in data1:
row=row+row1
print(row)
//The results is as below
//[[2 2 2 2]]
//[[3 3 3 3]]
//[[4 4 4 4]]
//[[5 5 5 5]]
第二个矩阵 data2 应包含行操作后矩阵 data1 中的所有元素。打印语句给出了预期的结果,但是我如何将这些行复制到新的矩阵中?
最佳答案
假设您使用的是 numpy:
import numpy as np
data1 = np.array([[1,2,3,4],
[5,6,7,8]])
mu = [1,1,1,1]
data2 = data1 + mu
或者,如果您实际上只想将 1
添加到每个元素:
data2 = data1 + 1
或者,如果 data1
只是列表的列表,则使用嵌套列表理解:
mu = [1,1,1,1]
data1 = [[1,2,3,4],
[5,6,7,8]]
data2 = [[r+m for r,m in zip(row,mu)] for row in data1]
关于python - 在python中将一个矩阵的每一行复制到另一个空矩阵的每一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53231100/