docs: def sample_df(self, pstates=None, n_obs=None, random_state=None, pstate_col=PSTATE_COL, hstate_col=HSTATE_COL):
          """
          Convenience function to generate samples a model and create a dataframe
          """
          try:
              import pandas as pd
          except Exception as e:
              raise e
  
          obs, pstates, hstates = self.sample(pstates, n_obs, random_state)
          items = []
  
          if pstate_col is not None:
              items.append((pstate_col, pstates))
  
          if hstate_col is not None:
              items.append((hstate_col, hstates))
  
          items = items + [(self.emission_name[i], obs[:, i]) for i in range(self.n_features)]
          df = pd.DataFrame.from_items(items)
          return df