gpt4 book ai didi

python - 修改 numpy 数组的特定单元格列表

转载 作者:行者123 更新时间:2023-12-02 06:46:35 24 4
gpt4 key购买 nike

假设我有一个 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 循环吗?

最佳答案

n = 4

x = [0,1,2,3]
y = [1,2,3,0]

M = alpha*np.ones([n,n])
M[x,y] += (1-alpha)*3

关于python - 修改 numpy 数组的特定单元格列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59839502/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com