First, we read the data into signal_df. The fourier_signal.csv contains a single column called signal.
Next, we use the .QuantileDiscretizer(...) method to discretize the signal into 10 buckets. The bin ranges are chosen based on quantiles, that is, each bin will have the same number of observations.
Here's what the original signal looks like (the black line), and what its discretized representation looks like: