docs: def conf_int(self, alpha=0.05, coefs=None, return_df=False):
          """
          Creates the dataframe or array of lower and upper bounds for the
          (1-alpha)% confidence interval of the estimated parameters. Used when
          creating the statsmodels summary.
  
          Parameters
          ----------
          alpha : float, optional.
              Should be between 0.0 and 1.0. Determines the (1-alpha)% confidence
              interval that will be reported. Default == 0.05.
          coefs : array-like, optional.
              Should contain strings that denote the coefficient names that one
              wants the confidence intervals for. Default == None because that
              will return the confidence interval for all variables.
          return_df : bool, optional.
              Determines whether the returned value will be a dataframe or a
              numpy array. Default = False.
  
          Returns
          -------
          pandas dataframe or ndarray.
              Depends on return_df kwarg. The first column contains the lower
              bound to the confidence interval whereas the second column contains
              the upper values of the confidence intervals.
          """
  
          # Get the critical z-value for alpha / 2
          z_critical = scipy.stats.norm.ppf(1.0 - alpha / 2.0,
                                            loc=0, scale=1)
  
          # Calculate the lower and upper values for the confidence interval.
          lower = self.params - z_critical * self.standard_errors
          upper = self.params + z_critical * self.standard_errors
          # Name the series of lower / upper values for the confidence interval.
          lower.name = "lower"
          upper.name = "upper"
  
          # Combine the various series.
          combined = pd.concat((lower, upper), axis=1)
  
          # Subset the combined dataframe if need be.
          if coefs is not None:
              combined = combined.loc[coefs, :]
  
          # Return the desired object, whether dataframe or array
          if return_df:
              return combined
          else:
              return combined.values