code: def quantile_normalize(df, drop):
      if drop:
          keep = df[drop]
          df = df.drop(drop, axis=1)
  
      # compute rank
      dic = {}
      for col in df:
          dic.update({col: sorted(df[col])})
      sorted_df = pd.DataFrame(dic)
      rank = sorted_df.mean(axis=1).tolist()
      # sort
      for col in df:
          t = np.searchsorted(np.sort(df[col]), df[col])
          df[col] = [rank[i] for i in t]
  
      if drop:
          df = pd.concat((keep, df), axis=1)
      return df
  
file_path: deltapy/deltapy/interact.py
imports: import numpy
  import pandas
  from statsmodels.tsa.ar_model import AR
  from timeit import default_timer
  from sklearn.tree import DecisionTreeRegressor
  from math import sin, cos, sqrt, atan2, radians, ceil
  import ta
  from gplearn.genetic import SymbolicTransformer
  from scipy import linalg
  import math
label_desc: Use image node_id 5 for calling a global function with example usage: quantile_normalize(df, drop) and returns: df