code: def t_test_multi(
      result,
      contrasts,
      method="hs",
      alpha=0.05,
      ci_method=None,
      contrast_names=None,
  ):
      """perform t_test and add multiplicity correction to results dataframe
  
      Parameters
      ----------
      result results instance
          results of an estimated model
      contrasts : ndarray
          restriction matrix for t_test
      method : str or list of strings
          method for multiple testing p-value correction, default is'hs'.
      alpha : float
          significance level for multiple testing reject decision.
      ci_method : None
          not used yet, will be for multiplicity corrected confidence intervals
      contrast_names : {list[str], None}
          If contrast_names are provided, then they are used in the index of the
          returned dataframe, otherwise some generic default names are created.
  
      Returns
      -------
      res_df : pandas DataFrame
          The dataframe contains the results of the t_test and additional columns
          for multiplicity corrected p-values and boolean indicator for whether
          the Null hypothesis is rejected.
      """
      tt = result.t_test(contrasts)
      res_df = tt.summary_frame(xname=contrast_names)
  
      if type(method) is not list:
          method = [method]
      for meth in method:
          mt = multipletests(tt.pvalue, method=meth, alpha=alpha)
          res_df["pvalue-%s" % meth] = mt[1]
          res_df["reject-%s" % meth] = mt[0]
      return res_df
  
imports: import numpy
  from scipy.stats import f
  from scipy.stats import t
  from scipy import stats
  from statsmodels.tools.tools import clean0, fullrank
  from statsmodels.stats.multitest import multipletests
label_desc: Use image node_id 4 for calling a global function with example usage: t_test_multi(result, contrasts, method, alpha, ci_method, contrast_names) and returns: res_df