code: def _get_missing_timestamps(
      df: pd.DataFrame,
      frequency: str,
      first_time_stamp: pd.Timestamp = None,
      last_time_stamp: pd.Timestamp = None,
  ) -> pd.DataFrame:
      """Return the timestamps that are missing in a DataFrame.
  
      This function takes in a DataFrame, and checks its index
      against a DataFrame that contains the expected timestamps.
      Here, we assume that the expected timestamps are going to be
      of a larger size than the timestamps available in the input
      DataFrame `df`.
  
      If there are any missing timestamps in the input DataFrame,
      this function will return those missing timestamps from the
      expected DataFrame.
      """
      expected_df = df.fill_missing_timestamps(
          frequency, first_time_stamp, last_time_stamp
      )
  
      missing_timestamps = expected_df.index.difference(df.index)
  
      return expected_df.loc[missing_timestamps]
  
file_path: pyjanitor/janitor/timeseries.py
imports: import itertools
  from typing import Dict, Union
  import pandas
  import pandas_flavor
  from .errors import JanitorError
  from .utils import check
label_desc: Use image node_id 2 for calling a global function with example usage: _get_missing_timestamps(df, frequency, first_time_stamp, last_time_stamp) and returns: expected_df