[英]Setting an array to zero on a specified list of indices
令f_1
为形状(a,b)
的数组, f_2 为形状(2*a,b)
的数组。 如果我们将数组限制在偶数行上,则f_2
等于f_1
。 我想将f_2
设置为零到f_1
为零的任何地方。 我尝试了以下方法:
I = np.argwhere(f_1 == 0)
for x in I:
x[0] = 2*x[0]
f_2[I] = 0
但是LA.norm(f_2)
导致0.0
所以这种方法显然不起作用。
您可以使用切片到 select 偶数列和 boolean 索引来设置零。
f_2[::2][f_1==0]=0
为什么不简单地做这样的事情呢?
for x in I:
f_2[2*x[0]][x[1]] = 0
您可以将第一个维度的索引乘以 2:
i,j = np.where(f_1 == 0)
f_2[2*i,j] = 0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.