def dataframe()

in src/mozanalysis/frequentist_stats/sample_size.py [0:0]


    def dataframe(self) -> pd.DataFrame:
        """dataframe property

        returns results consolidated into a dataframe"""

        formatted_results = {}
        for m, r in self.data.items():
            metric_result = {}
            for k, v in r.items():
                if isinstance(v, dict):
                    for vk, vv in v.items():
                        if vk == "period_start_day":
                            vk = "period"
                        metric_result[f"{k}_{vk}"] = vv
                else:
                    metric_result[k] = v
            formatted_results[m] = metric_result

        df = pd.DataFrame.from_dict(formatted_results, orient="index")

        return df[
            [
                "relative_effect_size",
                "effect_size_value",
                "mean_value",
                "std_dev_value",
                "sample_size_per_branch",
                "population_percent_per_branch",
                "effect_size_period",
                "mean_period",
                "std_dev_period",
            ]
        ]