【发布时间】:2019-04-13 08:10:18
【问题描述】:
如何对矩阵中的每一行执行操作并将其复制到另一个矩阵? 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 中的所有元素。 print 语句给出了预期的结果,但是我如何将这些行复制到一个新的矩阵中?
【问题讨论】:
-
能否请您使用适当的缩进和内部代码块格式化代码
-
for i in alist: i = i+1不会更改alist中的值。这是一个基本的 Python 迭代问题。 -
小修正不是1而是行矩阵。
-
请为
data1和data2提供示例输入(使用正确的python 语法) -
row=row+row1仍然不会更改源data1中的row。接受的答案避免了所有迭代,这很好。但是您的迭代问题是一个基本的 Python 问题,您迟早需要了解。
标签: python numpy matrix multidimensional-array