code: def setup(self, inplace):
      N = 10000
      K = 10
      key1 = Index(
          [f"i-{i}" for i in range(N)], dtype=object
      ).values.repeat(K)
      key2 = Index(
          [f"i-{i}" for i in range(N)], dtype=object
      ).values.repeat(K)
      self.df = DataFrame(
          {"key1": key1, "key2": key2, "value": np.random.randn(N * K)}
      )
      self.df_nan = self.df.copy()
      self.df_nan.iloc[:10000, :] = np.nan
  
      self.s = Series(np.random.randint(0, 1000, size=10000))
      self.s_str = Series(
          np.tile(
              Index(
                  [f"i-{i}" for i in range(1000)], dtype=object
              ).values,
              10,
          )
      )
  
      N = 1000000
      K = 10000
      key1 = np.random.randint(0, K, size=N)
      self.df_int = DataFrame({"key1": key1})
      self.df_bool = DataFrame(
          np.random.randint(0, 2, size=(K, 10), dtype=bool)
      )
  
imports: import numpy
  from pandas import DataFrame, Index, MultiIndex, Series, date_range, period_range
  from .pandas_vb_common import setup
label_desc: Use image node_id 1 for calling the DropDuplicates obj's underlying member method code with example usage: obj.setup(inplace) without return types