def summary(self, alpha=0.05):
        """
        Provide a summary of a mediation analysis.
        """

        columns = ["Estimate", "Lower CI bound", "Upper CI bound", "P-value"]
        index = ["ACME (control)", "ACME (treated)", "ADE (control)", "ADE (treated)",
                 "Total effect", "Prop. mediated (control)", "Prop. mediated (treated)",
                 "ACME (average)", "ADE (average)", "Prop. mediated (average)"]
        smry = pd.DataFrame(columns=columns, index=index)

        for i, vec in enumerate([self.ACME_ctrl, self.ACME_tx, self.ADE_ctrl, self.ADE_tx,
                                 self.total_effect, self.prop_med_ctrl,
                                 self.prop_med_tx, self.ACME_avg, self.ADE_avg,
                                 self.prop_med_avg]):

            if ((vec is self.prop_med_ctrl) or (vec is self.prop_med_tx) or
                (vec is self.prop_med_avg)):
                smry.iloc[i, 0] = np.median(vec)
            else:
                smry.iloc[i, 0] = vec.mean()
            smry.iloc[i, 1] = np.percentile(vec, 100 * alpha / 2)
            smry.iloc[i, 2] = np.percentile(vec, 100 * (alpha / 2 - 1))
            smry.iloc[i, 3] = _pvalue(vec)

        if pdc.version < '0.17.0':  # pragma: no cover
            smry = smry.convert_objects(convert_numeric=True)
        else:  # pragma: no cover
            smry = smry.apply(pd.to_numeric, errors='coerce')

        return smry
dataset/ETHPy150Open statsmodels/statsmodels/statsmodels/stats/mediation.py/MediationResults.summary/swapped operands of `-`