filter and resample or resample and smooth? Currently doing some signal analysis in python for a major project in my physics degree which is due really soon. I need some help!

Say I have two signals, f(t) and g(t) which are recorded over the same amount of time.

f(t) and g(t) both feature different amounts of noise.

f(t) and g(t) are recorded at different sampling rates so I have two different quantities of measurements.

For analysis I imagine I will need:

a) Interpolation (or resampling?) both signals to get the same sampling rate.

b) Smoothing/filtering to reduce noise.

a then b or b then a?

I would like to ideally have two signals with equal sampling frequencies. I would also like all values of f(t) and g(t) to occupy the same points on the t (x) axis. In addition to this I would like to smooth the data as much as possible with a minimal loss of information.
Could you describe what you want to find in your data -- peaks, trends, model ?
and what kind of noise there is -- $\infty$ possibilities ?
A plot would be good.
Without some more info, I can only say, with others, "try it and see".

As you may know,
a good way to smooth and resample (interpolate) in Python is with
scipy.ndimage.map_coordinates,
along the lines

import numpy as np
from scipy.ndimage import map_coordinates

def smooth_resample( y, newlen ):
    """ resample y to newlen, with B-spline smoothing """
    n = len(y)
    newgrid = np.linspace( 0, n - 1, newlen )
        # e.g. n = 3, newlen = 5 -&gt; [0 .5 1 1.5 2]
    return map_coordinates( y, newgrid, mode="nearest", prefilter=False )


map_coordinates also works for 2d images, 3d voxels ... hence the name "ndimage".
For more, stackoverflow has quite a few Q+A s that use it.

(Cubic-spline interpolation uses the nearest 4 points to each x in newgrid,
whereas dsp smoothing filters are usually much longer.
For smoothing that preserves peaks,
see Savitzky-Golay filters, e.g.
Numerical Recipes p. 771 ff.)