python 新手,想知道是否可以使用 python 和 numpy 完成上述操作。我有一个大小为 10 的数组,我想将 6 个随机值从它们的当前值更改为我设置的其他值。有没有办法在 numpy 中做到这一点?
问问题
53 次
2 回答
0
例如,你有一个arr
大小为 z 的 numpy 数组,你想将 x 值随机更改为 y,你可以试试这个:
index = np.random.choice(z, x, replace=False)
arr[index] = y
随机选择参考:https ://docs.scipy.org/doc/numpy/reference/generated/numpy.random.choice.html#numpy.random.choice
于 2020-02-12T13:37:28.190 回答
0
python's random module provides a method sample. By taking a random sample of the indices of your array you have a list of what to replace...
import numpy as np
import random
def randomReplace(arr,n,newValue):
indicies = random.sample(range(0,len(arr)),n)
for k in indicies:
arr[k] = newValue
arr = np.random.rand(10)
print(arr)
arr2 = randomReplace(arr,6,1)
print(arr)
于 2020-02-12T13:23:42.590 回答