In the SciPy implementation scipy.signal.savgol_filter , we only need to specify two parameters: 
  1.  the number of adjacent data points we wish to include in the fit (called the window_length)
  2. the order of the polynomial fit, where 1 = linear, 2 = quadratic, and 3 = cubic (called the polyorder)
As a bonus, the Savitzky-Golay filter function can also be used to numerically differentiate the smoothed data provided the data is "equally spaced." 
That requires specification of two additional parameters:  deriv, the order of the derivative (where 0 = no derivative, 1 = first derivative, 2 = 2nd derivative,...) and delta, the spacing of the samples to which the filter will be applied. For example, when measuring current I as a function of applied voltage V in equal steps of 0.1 volts (V = 0, 0.1, 0.2, 0.3, ....) ,  delta would equal 0.1. 

Interpolation

some text here

Working with units and uncertainties

When using Python in place of a calculator, we have the ability to directly include information about dimensions, units and uncertainties in the calculations. When used, these abilities  offer the advantage of allowing us to check algebraic calculations, automatically propagate uncertainties in calculated quantities, and avoid unit conversion errors, but the necessary Python modules are not included in the standard Anaconda Navigator Python installation and must be added by hand (unless already installed as part of a specially configured webserver).