Interpolate a y = f(x) function using Spline interpolation algorithm, 
    x_new_axis has to be in range of x_axis.

    `Spline interpolation <https://en.wikipedia.org/wiki/Spline_interpolation>`_
    is a popular interpolation method. Way more accurate than linear interpolate
    in average

def spline_interpolate(x_axis, y_axis, x_new_axis):
    """Interpolate a y = f(x) function using Spline interpolation algorithm, 
    x_new_axis has to be in range of x_axis.

    `Spline interpolation <https://en.wikipedia.org/wiki/Spline_interpolation>`_
    is a popular interpolation method. Way more accurate than linear interpolate
    in average
    """
    f = interp1d(x_axis, y_axis, kind="cubic")
    return f(x_new_axis)