code: def split_path(path):
      """
      Split a Path type containing a single NaN separated path into
      multiple subpaths.
      """
      path = path.split(0, 1)[0]
      values = path.dimension_values(0)
      splits = np.concatenate(
          [[0], np.where(np.isnan(values))[0] + 1, [None]]
      )
      subpaths = []
      data = PandasInterface.as_dframe(path)
      for i in range(len(splits) - 1):
          end = splits[i + 1]
          slc = slice(splits[i], None if end is None else end - 1)
          subpath = data.iloc[slc]
          if len(subpath):
              subpaths.append(subpath)
      return subpaths
  
imports: import itertools
  import numpy
  import pandas
  import param
  from ..core import Dataset
  from ..core.boundingregion import BoundingBox
  from ..core.data import PandasInterface, default_datatype
  from ..core.operation import Operation
  from ..core.sheetcoords import Slice
  from ..core.util import cartesian_product, datetime_types, is_cyclic, is_nan, one_to_one, sort_topologically
label_desc: Use image node_id 1 for calling a global function with example usage: split_path(path) and returns: subpaths