code: def empty_dataframe(*columns):
      """Create an empty dataframe with columns of particular types.
  
      Parameters
      ----------
      *columns
          The (column_name, column_dtype) pairs.
  
      Returns
      -------
      typed_dataframe : pd.DataFrame
          The empty typed dataframe.
  
      Examples
      --------
      >>> df = empty_dataframe(
      ...     ('a', 'int64'),
      ...     ('b', 'float64'),
      ...     ('c', 'datetime64[ns]'),
      ... )
  
      >>> df
      Empty DataFrame
      Columns: [a, b, c]
      Index: []
  
      df.dtypes
      a             int64
      b           float64
      c    datetime64[ns]
      dtype: object
      """
      return pd.DataFrame(np.array([], dtype=list(columns)))
  
imports: from contextlib import contextmanager
  from copy import deepcopy
  from itertools import product
  import operator
  import warnings
  import numpy
  import pandas
  from distutils.version import StrictVersion
  from trading_calendars.utils.pandas_utils import days_at_time
label_desc: Use image node_id 14 for calling a global function with example usage: empty_dataframe() and returns: pd