def get_interpolated_data(df: pd.DataFrame, e_min=np.nan, e_max=np.nan, e_step=np.nan):
    """return the interpolated x and y axis for the given x range [e_min, e_max] with step defined

    :param df: input data frame
    :type df: pandas.DataFrame
    :param e_min: left energy range in eV of new interpolated data
    :type e_min: float
    :param e_max: right energy range in eV of new interpolated data
    :type e_max: float
    :param e_step: energy step in eV for interpolation
    :type e_step: float

    :return: x_axis and y_axis of interpolated data over specified range
    :rtype: dict
    """
    nbr_point = int((e_max - e_min) / e_step + 1)
    x_axis = np.linspace(e_min, e_max, nbr_point).round(6)
    y_axis_function = interp1d(x=df['E_eV'], y=df['Sig_b'], kind='linear')
    y_axis = y_axis_function(x_axis)

    return {'x_axis': x_axis, 'y_axis': y_axis}
return the interpolated x and y axis for the given x range [e_min, e_max] with step defined

    :param df: input data frame
    :type df: pandas.DataFrame
    :param e_min: left energy range in eV of new interpolated data
    :type e_min: float
    :param e_max: right energy range in eV of new interpolated data
    :type e_max: float
    :param e_step: energy step in eV for interpolation
    :type e_step: float

    :return: x_axis and y_axis of interpolated data over specified range
    :rtype: dict