我有一个numpy数组和一个噪声函数。
def gaussian_noise(X,sigma=0.1):
noise = np.random.normal(0, sigma, X.shape)
return X + noise
如何向非零元素添加一些噪声? 例如:
# input an array
a = array([[1, 0, 3],
[2, 5, 0],
[0, 0, 7]])
b = gaussian_noise(a)
输出:
b = array([[ 0.83781175, 0., 2.99969046],
[ 1.92693919, 4.85350012, 0.],
[0., 0., 7.04896986]])
如何修改我的功能?
答案 0 :(得分:0)
简单选择问题
def gaussian_noise(X,sigma=0.1):
X = np.array(X, dtype=np.float)
M = X!=0
noise = np.random.normal(0, sigma, X.shape)
X[M] += noise[M]
return X
会做