code: def test_subgraph_extraction_multi_column(graph_file):
      dataset_path = graph_file.get_path()
      M = utils.read_csv_for_nx(dataset_path)
  
      cu_M = cudf.DataFrame()
      cu_M["src_0"] = cudf.Series(M["0"])
      cu_M["dst_0"] = cudf.Series(M["1"])
      cu_M["weight"] = cudf.Series(M["weight"])
      cu_M["src_1"] = cu_M["src_0"] + 1000
      cu_M["dst_1"] = cu_M["dst_0"] + 1000
      G1 = cugraph.Graph()
      G1.from_cudf_edgelist(
          cu_M,
          source=["src_0", "src_1"],
          destination=["dst_0", "dst_1"],
          edge_attr="weight",
      )
  
      verts = cudf.Series([0, 1, 17])
      verts_G1 = cudf.DataFrame()
      verts_G1["v_0"] = verts
      verts_G1["v_1"] = verts + 1000
  
      sG1 = cugraph.subgraph(G1, verts_G1)
  
      G2 = cugraph.Graph()
      G2.from_cudf_edgelist(
          cu_M, source="src_0", destination="dst_0", edge_attr="weight"
      )
  
      sG2 = cugraph.subgraph(G2, verts)
  
      # FIXME: Replace with multi-column view_edge_list()
      edgelist_df = sG1.edgelist.edgelist_df
      edgelist_df_res = sG1.unrenumber(edgelist_df, "src")
      edgelist_df_res = sG1.unrenumber(edgelist_df_res, "dst")
      for i in range(len(edgelist_df_res)):
          assert sG2.has_edge(
              edgelist_df_res["0_src"].iloc[i],
              edgelist_df_res["0_dst"].iloc[i],
          )
  
file_path: cugraph/python/cugraph/cugraph/tests/community/test_subgraph_extraction.py
imports: import gc
  import numpy
  import pytest
  import networkx
  import cudf
  import cugraph
  from cugraph.testing import utils, DEFAULT_DATASETS
  from cugraph.datasets import karate
label_desc: Use image node_id 8 for calling a global function with example usage: test_subgraph_extraction_multi_column(graph_file) without return types