code: def setUp(self):
      np.random.seed(1234)
      random_df1 = np.random.random(10).tolist()
      self.df1 = pd.DataFrame({"x": list(range(10)), "y1": random_df1})
  
      random_df2 = np.random.random(3).tolist()
      self.df2 = pd.DataFrame({"x": list(range(3)), "y2": random_df2})
  
      random_df3 = np.random.random(6).tolist()
      self.df3 = pd.DataFrame({"x": list(range(6)), "y3": random_df3})
  
      df_merged_outer = pd.DataFrame(
          {
              "x": list(range(10)),
              "y1": random_df1,
              "y2": random_df2 + [np.nan] * 7,
              "y3": random_df3 + [np.nan] * 4,
          }
      )
  
      self.df_merged_outer = sort_df_by_columns(df_merged_outer)
  
imports: import unittest
  import numpy
  import pandas
  from pandas.testing import assert_frame_equal
  from neptune.common.utils import align_channels_on_x, as_list, get_channel_name_stems, map_keys, map_values, merge_dataframes
  from tests.unit.neptune.legacy.random_utils import sort_df_by_columns
label_desc: Use image node_id 1 for calling the TestMergeDataFrames obj's underlying member method code with example usage: obj.setUp() without return types