如何替换numpy数组中的值?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (460)

这个问题在这里已有答案:

我想替换np.array中的元素,例如:

arr = np.array([4,5,6,7,3])

我想用给定的值替换满足条件的每个元素,例如3 <= x <= 5。并用随机数替换它,例如randint(90,99)。

因此,我的预期输出是:

[91 94  6  7 92]

我试过这样的事情:

out = np.where(arr>4, randint(90, 99), arr)

但我有2个问题: 1)我不能指定间隔 2)我不能得到3个随机数 - 但只有一个

提问于
用户回答回答于

使用循环,很简单:

j=0
for i in arr:
    if(3<=i and i<=5)
        arr[j]=99
        j+=1

扫码关注云+社区

领取腾讯云代金券