【发布时间】:2020-01-21 10:52:50
【问题描述】:
假设我有一个 numpy 数组并且我想更改值。我有一个特定的 (x,y) 坐标列表,指示应该添加一个附加项的单元格。下面的代码为我完成了这项工作。
>>> import numpy as np
n = 4
M = np.ones([n,n])
x = [0,1,2,3]
y = [1,2,3,0]
xy = list(zip(x,y))
alpha = 0.3
for i in range(n):
for j in range(n):
M[i,j] = alpha*M[i,j] + ((i,j) in xy)*(1-alpha)*3
>>> M
Out[1]:
array([[0.3, 2.4, 0.3, 0.3],
[0.3, 0.3, 2.4, 0.3],
[0.3, 0.3, 0.3, 2.4],
[2.4, 0.3, 0.3, 0.3]])
但是,我认为实现相同目标的方法不那么繁琐。例如,有人可以帮我摆脱两个 for 循环吗?
【问题讨论】:
标签: python numpy indexing cell