code: def get_df(self, terms=None, include_da=False):
      if terms is None and self.corpus is not None:
          terms = self.get_names()
  
      freq = self.get_frequency()
      df_content = {
          "Frequency": freq,
          "Range": self.dispersion_range(),
          "SD": self.sd_population(),
          "VC": self.vc(),
          "Juilland's D": self.jullands_d(),
          "Rosengren's S": self.rosengrens(),
          "DP": self.dp(),
          "DP norm": self.dp_norm(),
          "KL-divergence": self.kl_divergence(),
      }
      if include_da:
          df_content["DA"] = self.da()
      if terms is None:
          df = pd.DataFrame(df_content)
      else:
          df = pd.DataFrame(df_content, index=terms)
      return df
  
imports: from typing import Optional, Callable, List
  import numpy
  import pandas
  from scattertext.termranking import AbsoluteFrequencyRanker
  from scipy.sparse import csc_matrix, csr_matrix
  from sklearn.preprocessing import StandardScaler
  from scattertext.smoothing.lowess import Lowess
  from scattertext.termranking.TermRanker import TermRanker
  from scattertext.TermDocMatrix import TermDocMatrix
label_desc: Use image node_id 12 for calling the Dispersion obj's underlying member method code with example usage: obj.get_df(terms, include_da) and returns: df