docstr: Parameters
  ----------
  value_col : cudf.DataFrame or dict[str, cudf.DataFrame]
      If a single dataframe is provided, this is assumed
      to contain the edge weight values.
      If a dictionary of dataframes is provided, then it is
      assumed to contain edge properties.
  store_transposed : bool (default=False)
      Whether to store the graph in a transposed
      format.  Required by some algorithms.
  renumber : bool (default=True)
      Whether to renumber the vertices of the graph.
      Required if inputted vertex ids are not of
      int32 or int64 type.
docstr_tok: ["Parameters","--","--","--","--","--","value_col",":","cudf.DataFrame","or","dict","[","str",",","cudf.DataFrame","]","If","a","single","dataframe","is","provided",",","this","is","assumed","to","contain","the","edge","weight","values",".","If","a","dictionary","of","dataframes","is","provided",",","then","it","is","assumed","to","contain","edge","properties",".","store_transposed",":","bool","(","default=False",")","Whether","to","store","the","graph","in","a","transposed","format",".","Required","by","some","algorithms",".","renumber",":","bool","(","default=True",")","Whether","to","renumber","the","vertices","of","the","graph",".","Required","if","inputted","vertex","ids","are","not","of","int32","or","int64","type","."]
code: def _make_plc_graph(
      self,
      value_col: Dict[str, cudf.DataFrame] = None,
      store_transposed: bool = False,
      renumber: bool = True,
  ):
      """
      Parameters
      ----------
      value_col : cudf.DataFrame or dict[str, cudf.DataFrame]
          If a single dataframe is provided, this is assumed
          to contain the edge weight values.
          If a dictionary of dataframes is provided, then it is
          assumed to contain edge properties.
      store_transposed : bool (default=False)
          Whether to store the graph in a transposed
          format.  Required by some algorithms.
      renumber : bool (default=True)
          Whether to renumber the vertices of the graph.
          Required if inputted vertex ids are not of
          int32 or int64 type.
      """
  
      if value_col is None:
          weight_col, id_col, type_col = None, None, None
      elif isinstance(value_col, (cudf.DataFrame, cudf.Series)):
          weight_col, id_col, type_col = value_col, None, None
      elif isinstance(value_col, dict):
          weight_col = value_col[self.edgeWeightCol]
          id_col = value_col[self.edgeIdCol]
          type_col = value_col[self.edgeTypeCol]
      else:
          raise ValueError(f"Illegal value col {type(value_col)}")
  
      graph_props = GraphProperties(
          is_multigraph=self.properties.multi_edge,
          is_symmetric=not self.properties.directed,
      )
  
      if self.edgelist is not None:
          input_array_format = "COO"
          src_or_offset_array = self.edgelist.edgelist_df[
              simpleGraphImpl.srcCol
          ]
          dst_or_index_array = self.edgelist.edgelist_df[
              simpleGraphImpl.dstCol
          ]
  
      elif self.adjlist is not None:
          input_array_format = "CSR"
          src_or_offset_array = self.adjlist.offsets
          dst_or_index_array = self.adjlist.indices
  
      else:
          raise TypeError(
              "Edges need to be represented in either in COO or CSR format."
          )
  
      if weight_col is not None:
          weight_t = weight_col.dtype
  
          if weight_t == "int32":
              weight_col = weight_col.astype("float32")
          if weight_t == "int64":
              weight_col = weight_col.astype("float64")
  
      if id_col is not None:
          if (
              src_or_offset_array.dtype == "int64"
              and id_col.dtype != "int64"
          ):
              id_col = id_col.astype("int64")
              warnings.warn(
                  f"Vertex type is int64 but edge id type is {id_col.dtype}"
                  ", automatically casting edge id type to int64. "
                  "This may cause extra memory usage.  Consider passing"
                  " a int64 list of edge ids instead."
              )
  
      self._plc_graph = SGGraph(
          resource_handle=ResourceHandle(),
          graph_properties=graph_props,
          src_or_offset_array=src_or_offset_array,
          dst_or_index_array=dst_or_index_array,
          weight_array=weight_col,
          edge_id_array=id_col,
          edge_type_array=type_col,
          store_transposed=store_transposed,
          renumber=renumber,
          do_expensive_check=True,
          input_array_format=input_array_format,
      )
  
imports: from cugraph.structure import graph_primtypes_wrapper
  from cugraph.structure.graph_primtypes_wrapper import Direction
  from cugraph.structure.symmetrize import symmetrize
  from cugraph.structure.number_map import NumberMap
  import cugraph.dask.common.mg_utils
  import cudf
  import dask_cudf
  import cugraph.dask.comms.comms
  import pandas
  import numpy
  import warnings
  from cugraph.dask.structure import replication
  from typing import Union, Dict
  from pylibcugraph import get_two_hop_neighbors, select_random_vertices
  from pylibcugraph import ResourceHandle, GraphProperties, SGGraph
label_desc: Use image node_id 27 for calling the simpleGraphImpl obj's underlying member method code with example usage: obj._make_plc_graph(value_col, store_transposed, renumber) without return types