<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def clean_data(self, resample=True, freq='h', resampler='mean', interpolate=True, limit=1, method='linear', remove_na=True, remove_na_how='any', remove_outliers=True, sd_val=3, remove_out_of_bounds=True, low_bound=0, high_bound=9998):
 """ Clean dataframe. Parameters resample : bool Indicates whether to resample data or not. freq : str resampler : str Resampling type i.e. mean, max. interpolate : bool Indicates whether to interpolate data or not. limit : int Interpolation limit. method : str Interpolation method. remove_na : bool Indicates whether to remove NAs or not. remove_na_how : str remove_outliers : bool Indicates whether to remove outliers or not. sd_val : int Standard Deviation Value (specifices how many SDs away is a point considered an outlier) remove_out_of_bounds : bool Indicates whether to remove out of bounds datapoints or not. low_bound : int Low bound of the data. high_bound : int High bound of the data. """


        # Store copy of the original data
        data = self.original_data

        if resample:
            try:
                data = self.resample_data(data, freq, resampler)
            except Exception as e:
                raise e

        if interpolate:
            try:
                data = self.interpolate_data(data, limit=limit, method=method)
            except Exception as e:
                raise e
        
        if remove_na:
            try:
                data = self.remove_na(data, remove_na_how)
            except Exception as e:
                raise e

        if remove_outliers:
            try:
                data = self.remove_outliers(data, sd_val)
            except Exception as e:
                raise e

        if remove_out_of_bounds:
            try:
                data = self.remove_out_of_bounds(data, low_bound, high_bound)
            except Exception as e:
                raise e

        self.cleaned_data = data