code: def cross_join(df1: pd.DataFrame, df2: pd.DataFrame) -> pd.DataFrame:
      """
      Return a cross between df1 & df2 if each is not empty
      """
      if len(df1) == 0:
          return df2
  
      if len(df2) == 0:
          return df1
  
      return df1.join(df2, how="cross")
  
imports: from __future__ import annotations
  import inspect
  import itertools
  import warnings
  from collections import defaultdict
  from collections.abc import Iterable, Sequence
  from contextlib import suppress
  from typing import TYPE_CHECKING, cast, overload
  from warnings import warn
  import numpy
  import pandas
  from pandas.core.groupby import DataFrameGroupBy
  from ..exceptions import PlotnineError, PlotnineWarning
  from ..mapping import aes
label_desc: Use image node_id 32 for calling a global function with example usage: cross_join(df1, df2) and returns: df1, df2, df1