gpt4 book ai didi

python - 查找并替换 numpy 数组上的 float

转载 作者:太空宇宙 更新时间:2023-11-03 20:19:40 27 4
gpt4 key购买 nike

我有一些具有特定值的大型 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]

如果要传递值列表,我可以概括这些,使函数的这一部分更加通用吗?

最佳答案

您可以使用np.select:

z_ = np.select( (z_==1,z_==2, z_==3),
(150, 120, 110),
default=z_)

关于python - 查找并替换 numpy 数组上的 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58241785/

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