gpt4 book ai didi

python - 仅向满足特定条件的数组点添加随机值

转载 作者:太空宇宙 更新时间:2023-11-04 09:33:09 24 4
gpt4 key购买 nike

我有这段代码已经完成了我打算做的事情,只是因为我正在使用 for 循环,所以这有点不利于优化,而且据我所知,这通常是个坏主意。

Nx=100
Ny=100
A=np.random.normal(0,scale=2,size=(Nx,Ny))
for x in range(0,Nx):
for y in range(0,Ny):
if (A[x,y]*A[x,y] < 1):
A[x,y]+=np.random.normal(0)*(1-A[x,y]**2)

问题是我不知道如何在 python 中编写没有 for 循环的代码。

我没有找到这个问题的答案,因为我只找到了侧重于对遵循特定语句的数组的所有项求和的问题/答案。在我的例子中,我有兴趣对数组中符合我的声明的每个位置求和一个不同的随机数。

最佳答案

您可以像这样在 Python 中使用 np.where :

import numpy as np
Nx = 100
Ny = 100
A = np.random.normal(0, scale=2,size=(Nx, Ny))
A[np.where((A**2) < 1)] += np.random.normal(0) * (1 - A[np.where((A**2) < 1)]**2)

这就是数组的优势。我们可以高效快速地应用算术计算。

关于python - 仅向满足特定条件的数组点添加随机值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54871126/

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