def reduce_list(x, model):
    """Helper function to reduce a list of arrays"""
    # Ensure all arrays are float64 for consistent handling
    x = [np.asarray(arr, dtype=np.float64) for arr in x]
    split = np.cumsum([len(xi) for xi in x])[:-1]
    stacked = np.vstack(x)
    
    # Handle potential NaN values
    if np.any(np.isnan(stacked)):
        warnings.warn('NaN values detected in input data. These may affect the reduction results.')
    
    x_r = np.vsplit(model.fit_transform(stacked), split)
    if len(x) > 1:
        return [xi for xi in x_r]
    else:
        return [x_r[0]]
Helper function to reduce a list of arrays
hypertools/tools/reduce.py