code: def to_dask_df(dask_cudf, client=None):
      """
      Convert a Dask-cuDF into a Pandas-backed Dask Dataframe.
      :param dask_cudf : dask_cudf.DataFrame
      :param client: dask.distributed.Client Optional client to use
      :return : dask.DataFrame
      """
  
      def to_pandas(df):
          return df.to_pandas()
  
      c = default_client() if client is None else client
      delayed_ddf = dask_cudf.to_delayed()
      gpu_futures = c.compute(delayed_ddf)
  
      dfs = [
          c.submit(to_pandas, f, pure=False)
          for idx, f in enumerate(gpu_futures)
      ]
  
      meta = c.submit(get_meta, dfs[0])
  
      # Using new variable for local result to stop race-condition in scheduler
      # Ref: https://github.com/dask/dask/issues/6027
      meta_local = meta.result()
  
      return dd.from_delayed(dfs, meta=meta_local)
  
imports: import cuml.internals.logger
  import dask.dataframe
  from dask.distributed import default_client
label_desc: Use image node_id 3 for calling a global function with example usage: to_dask_df(dask_cudf, client) and returns: dd, df