我有一些大的numpy列表(数千个元素)有特定的值,例如,其中一个值必须是以下值之一:1.0、2.0、3.0、4.0、5.0。你知道吗
我需要找到并替换其中的一些值,我想要的是用最小的计算成本来完成。有没有办法不在每个元素上循环?你知道吗
到目前为止我得到的是:
for x, y in np.ndindex(z_.shape):
z_[x,y] = 150.0 if z_[x,y] == 1.0 else z_[x,y]
z_[x,y] = 120.0 if z_[x,y] == 2.0 else z_[x,y]
z_[x,y] = 110.0 if z_[x,y] == 3.0 else z_[x,y]
如果要传递一个值列表,使函数的这一部分更通用,我可以对这些进行泛化吗?你知道吗
IIUC,你可以:
输出
见boolean index arrays。尽管Quang Hoang's answer似乎更合适。你知道吗
您可以使用
np.select
:相关问题 更多 >
编程相关推荐