I have a generic smoothing function, and based on a configuration file (yaml which will be loaded as a dictionary), different implementation (boxcar or gaussian) will be called. These implementations have different number of arguments, for example boxcar requires winsize, while gaussian require winsize and variance.
Here is my current implementation:
def smoothing(dataDf, selected_columns, kwargs):
method = kwargs['method']
if method == 'boxcar':
boxcar(dataDf, selected_columns, kwargs['arguments'])
elif method == 'gaussian':
gaussian(dataDf, selected_columns, kwargs['arguments'])
else:
raise NotImplementedError
Would there be a better way to implement this?
Aucun commentaire:
Enregistrer un commentaire