code: def merge_values(values1,values2):
      '''
      Merges two numpy arrays by calculating all possible combinations of rows
      '''
      array1 = values_to_array(values1)
      array2 = values_to_array(values2)
  
      if array1.size == 0:
          return array2
      if array2.size == 0:
          return array1
  
      merged_array = []
      for row_array1 in array1:
          for row_array2 in array2:
              merged_row = np.hstack((row_array1,row_array2))
              merged_array.append(merged_row)
      return np.atleast_2d(merged_arrayf merge_values(values1,values2):
      '''
      Merges two numpy arrays by calculating all possible combinations of rows
      '''
      array1 = values_to_array(values1)
      array2 = values_to_array(values2)
  
      if array1.size == 0:
          return array2
      if array2.size == 0:
          return array1
  
      merged_array = []
      for row_array1 in array1:
          for row_array2 in array2:
              merged_row = np.hstack((row_array1,row_array2))
              merged_array.append(merged_row)
      return np.atleast_2d(merged_array)
docs: Merges two numpy arrays by calculating all possible combinations of rows