如何增加某一特定数据区域的噪声?
How to increase noise at one particular area of data?
我有一个数据帧,它是一个带有轻微噪声的正弦波,我只想增加图中一个特定位置的噪声。在再次降低之前,噪音应该在某一点增加。例如,在此处的第 400 点:
我当前没有增加噪声的数据帧代码如下:
samples_per_cycle = 333
num_cycles = 3
amp_min, amp_max = -100, 100
t = np.linspace(0, num_cycles*2*np.pi, num_cycles*samples_per_cycle)
noise = np.random.normal(0, 0.05, num_cycles*samples_per_cycle)
t = t + noise
y = amp_min + ((1+np.sin(t))/2)*(amp_max-amp_min)
A = y
A_int = np.array(A, dtype=int)
generated_df = pd.DataFrame(
{'A': A_int,
})
如果你想在数组的特定部分添加噪声,你可以只引用t的某个索引范围。例如,下面是如何从索引 400 到 500
向 t 添加噪声
只需将其添加到下面的代码中即可 t = t + noise
#Length of noise2 needs to match subsection of t you want to add noise to
noise2 = np.random.normal(0, 0.2, 100)
t[400:500] = t[400:500] + noise2
结果
我有一个数据帧,它是一个带有轻微噪声的正弦波,我只想增加图中一个特定位置的噪声。在再次降低之前,噪音应该在某一点增加。例如,在此处的第 400 点:
我当前没有增加噪声的数据帧代码如下:
samples_per_cycle = 333
num_cycles = 3
amp_min, amp_max = -100, 100
t = np.linspace(0, num_cycles*2*np.pi, num_cycles*samples_per_cycle)
noise = np.random.normal(0, 0.05, num_cycles*samples_per_cycle)
t = t + noise
y = amp_min + ((1+np.sin(t))/2)*(amp_max-amp_min)
A = y
A_int = np.array(A, dtype=int)
generated_df = pd.DataFrame(
{'A': A_int,
})
如果你想在数组的特定部分添加噪声,你可以只引用t的某个索引范围。例如,下面是如何从索引 400 到 500
向 t 添加噪声只需将其添加到下面的代码中即可 t = t + noise
#Length of noise2 needs to match subsection of t you want to add noise to
noise2 = np.random.normal(0, 0.2, 100)
t[400:500] = t[400:500] + noise2