in decisionai_plugin/common/util/data.py [0:0]
def normalize(df, normalize_base=None):
def max_min_scaler(x, base):
maxx = np.max(x)
minn = np.min(x)
if base:
maxx = base['max']
minn = base['min']
if maxx != minn:
return (x - minn) / (maxx - minn)
else:
x[:] = 1
return x
data = pd.DataFrame(index=df.index)
for item in df.columns:
if item == 'timestamp':
data[item] = df[item]
continue
base = normalize_base[item] if normalize_base is not None and item in normalize_base else None
data[item] = df[[item]].apply(lambda x: max_min_scaler(x, base))
return data