【发布时间】:2019-08-05 20:30:54
【问题描述】:
我想替换 np.array 中的元素,例如:
arr = np.array([4,5,6,7,3])
我想用给定值替换满足我条件的每个元素,例如 3
因此,我的预期输出是:
[91 94 6 7 92]
我尝试过这样的事情:
out = np.where(arr>4, randint(90, 99), arr)
但我有 2 个问题:
1) 我无法指定区间
2) 我无法获得 3 个随机数 - 但只有一个
【问题讨论】:
-
你的尝试是什么?这种东西是 numpy 的面包和黄油,大多数教程都会介绍
-
我对 numpy 不是很熟悉,但这看起来很简单。您能展示一下您的尝试吗?
-
第二个答案解决你的问题
-
使用这个:
arr[np.argwhere((3<=arr)&(arr<=5))] = 99 -
@vlad 不需要
np.argwhere。arr[(3 <= arr) & (arr <= 5)] = 99。 OP 现在决定将分配的值更改为某个随机数;即使关闭,问题仍在继续扩大
标签: python arrays numpy replace