code: def lmfit_parameters(self):
          
          p0 = []
          for param in self.fitting_parameters:
              opts = param['lmfit'].copy() if 'lmfit' in param else {}
              if 'min' in opts: opts['min'] = prefix_factor(param) * opts['min']
              if 'max' in opts: opts['max'] = prefix_factor(param) * opts['max']
              p0.append((prefix_factor(param) * param['guess'], opts))
  
          params = lmfit.Parameters()
          for p in zip(itertools.count(), p0):
              params.add('p_' + "%05d" % p[0], value=p[1][0], **p[1][1])
  
          return params
docs: A [`lmfit.Parameters`][1] object built from `scipy_data_fitting.Fit.fitting_parameters`,
          see `scipy_data_fitting.Fit.parameters`.
  
          Each parameters is assigned a key of the form `p_00000`, `p_00001`, `p_00002`, etc.
          Thus, `sorted(self.lmfit_parameters)` will give the keys in the same
          order defined by `scipy_data_fitting.Fit.fitting_parameters`.
  
          Parameter values are scaled by `prefix` before assignment.
  
          The values of `min` and `max`, if specified in the `limft` key,
          will be scaled by `prefix` before being used to add the parameter.
  
          [1]: http://lmfit.github.io/lmfit-py/parameters.html#the-parameters-class