def METHOD_NAME(self):
    """
    Generates a PR body given an input file `'allapis.dataframe'` and
    writes it to disk with file name `'allapis.summary'`.
    """
    directory = pathlib.Path(self._change_summary_directory)
    dataframe = pd.read_csv(directory / "allapis.dataframe")
    dataframe["Version"] = dataframe["Version"].astype(str)
    dataframe["Commit"] = np.vectorize(self.get_commit_uri)(dataframe["Name"])
    stable_and_breaking = (
        dataframe[
            dataframe["IsStable"] & (dataframe["ChangeType"] == ChangeType.DELETED)
        ][["Name", "Version", "Commit"]]
        .drop_duplicates()
        .agg(" ".join, axis=1)
        .values
    )
    prestable_and_breaking = (
        dataframe[
            (dataframe["IsStable"] == False)
            & (dataframe["ChangeType"] == ChangeType.DELETED)
        ][["Name", "Version", "Commit"]]
        .drop_duplicates()
        .agg(" ".join, axis=1)
        .values
    )
    all_apis = (
        dataframe[["Summary", "Commit"]]
        .drop_duplicates()
        .agg(" ".join, axis=1)
        .values
    )
    with open(directory / "allapis.summary", "w") as f:
        if len(stable_and_breaking) > 0:
            f.writelines(
                [
                    "## Deleted keys were detected in the following stable discovery artifacts:\n",
                    "\n".join(stable_and_breaking),
                    "\n\n",
                ]
            )
        if len(prestable_and_breaking) > 0:
            f.writelines(
                [
                    "## Deleted keys were detected in the following pre-stable discovery artifacts:\n",
                    "\n".join(prestable_and_breaking),
                    "\n\n",
                ]
            )
        if len(all_apis) > 0:
            f.writelines(
                [
                    "## Discovery Artifact Change Summary:\n",
                    "\n".join(all_apis),
                    "\n",
                ]
            )