Adding gaussian noise to a dataset of floating points and save it (python) Adding gaussian noise to a dataset of floating points and save it (python) python-3.x python-3.x

Adding gaussian noise to a dataset of floating points and save it (python)


You can follow these steps:

  1. Load the data into a pandas dataframe clean_signal = pd.read_csv("data_file_name")
  2. Use numpy to generate Gaussian noise with the same dimension as the dataset.
  3. Add gaussian noise to the clean signal with signal = clean_signal + noise

Here's a reproducible example:

import pandas as pd# create a sample dataset with dimension (2,2)# in your case you need to replace this with # clean_signal = pd.read_csv("your_data.csv")   clean_signal = pd.DataFrame([[1,2],[3,4]], columns=list('AB'), dtype=float) print(clean_signal)"""print output:     A    B0  1.0  2.01  3.0  4.0"""import numpy as np mu, sigma = 0, 0.1 # creating a noise with the same dimension as the dataset (2,2) noise = np.random.normal(mu, sigma, [2,2]) print(noise)"""print output: array([[-0.11114313,  0.25927152],       [ 0.06701506, -0.09364186]])"""signal = clean_signal + noiseprint(signal)"""print output:           A         B0  0.888857  2.2592721  3.067015  3.906358""" 

Overall code without the comments and print statements:

import pandas as pd# clean_signal = pd.read_csv("your_data.csv")clean_signal = pd.DataFrame([[1,2],[3,4]], columns=list('AB'), dtype=float) import numpy as np mu, sigma = 0, 0.1 noise = np.random.normal(mu, sigma, [2,2])signal = clean_signal + noise

To save the file back to csv

signal.to_csv("output_filename.csv", index=False)