python - 在python中将一个矩阵的每一行复制到另一个空矩阵的每一行

标签 python numpy matrix multidimensional-array

如何对矩阵中的每一行执行操作并将其复制到另一个矩阵? 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/

相关文章:

python - One Hot Encoder-按类别分类

Python - 从较大的矩阵中提取较小的矩阵

R:从矩阵中提取一个圆

python - 为什么 Python 程序员仍然使用旧式除法?

Python Pandas : Boolean indexing on multiple columns

python - 如何将项目放入优先队列?

python - 在 python 中如何从实例访问类变量? - 一个令人困惑的例子

Numpy Einsum 路径差异和优化参数

python - 在 Python 中对 pandas 中的数据框进行分箱

matlab - 识别矩阵中的值