code: def side_by_side_view(df):
      commits = df["commit"].unique().tolist()
      full_df = df.loc[df["commit"] == commits[0]]
      for commit in commits[1:]:
          per_commit_df = df.loc[df["commit"] == commit]
          full_df: pd.DataFrame = full_df.merge(
              per_commit_df,
              on=["test_name", "params", "machine", "unit"],
              how="outer",
              suffixes=(
                  "_{}".format(full_df.iloc[0]["commit"]),
                  "_{}".format(per_commit_df.iloc[0]["commit"]),
              ),
          )
      full_df = full_df.loc[
          :, ~full_df.columns.str.startswith("commit")
      ]
      return full_df
  
file_path: dgl/benchmarks/scripts/generate_excel.py
imports: import json
  from itertools import product
  from pathlib import Path
  import pandas
label_desc: Use image node_id 4 for calling a global function with example usage: side_by_side_view(df) and returns: full_df