code: def test_dataframe_drop_duplicates_numeric_method(num_columns):
      comb = list(
          itertools.permutations(range(num_columns), num_columns)
      )
      shuf = list(comb)
      random.Random(num_columns).shuffle(shuf)
  
      def get_pdf(n_dup):
          # create dataframe with n_dup duplicate rows
          rows = comb + shuf[:n_dup]
          random.Random(n_dup).shuffle(rows)
          return pd.DataFrame(rows)
  
      for i in range(5):
          pdf = get_pdf(i)
          gdf = cudf.DataFrame.from_pandas(pdf)
          assert_df(gdf.drop_duplicates(), pdf.drop_duplicates())
  
      # subset columns, single columns
      assert_df(
          gdf.drop_duplicates(pdf.columns[:-1]),
          pdf.drop_duplicates(pdf.columns[:-1]),
      )
      assert_df(
          gdf.drop_duplicates(pdf.columns[-1]),
          pdf.drop_duplicates(pdf.columns[-1]),
      )
      assert_df(
          gdf.drop_duplicates(pdf.columns[0]),
          pdf.drop_duplicates(pdf.columns[0]),
      )
  
      # subset columns shuffled
      cols = list(pdf.columns)
      random.Random(3).shuffle(cols)
      assert_df(gdf.drop_duplicates(cols), pdf.drop_duplicates(cols))
      random.Random(3).shuffle(cols)
      assert_df(
          gdf.drop_duplicates(cols[:-1]), pdf.drop_duplicates(cols[:-1])
      )
      random.Random(3).shuffle(cols)
      assert_df(
          gdf.drop_duplicates(cols[-1]), pdf.drop_duplicates(cols[-1])
      )
      assert_df(
          gdf.drop_duplicates(cols, keep="last"),
          pdf.drop_duplicates(cols, keep="last"),
      )
  
imports: import itertools
  import random
  import numpy
  import pandas
  import pytest
  import cudf
  from cudf import concat
  from cudf.testing._utils import _create_pandas_series_float64_default, assert_eq, assert_exceptions_equal
label_desc: Use image node_id 10 for calling a global function with example usage: test_dataframe_drop_duplicates_numeric_method(num_columns) and returns: pd