Rescaling columns of dataframe between 0 and 1.
## rescaling between 0 and 1
def rescaling(DATA,lcol):
from sklearn.preprocessing import MinMaxScaler
import pandas as pd
from datetime import datetime, timedelta
# clean data
DF = DATA[lcol].dropna(inplace=False)
if len(DF)<len(DATA): print('WARNING: it has been deleted %s rows with NaN values'%(len(DATA)-len(DF)))
# collect datetime data
ldt = DF.index.tolist()
# df to array
X = DF.values
# rescaling
scaler = MinMaxScaler(feature_range=(0, 1))
rescaledX = scaler.fit_transform(X)
# array to df
RESCALED = pd.DataFrame(rescaledX,columns=lcol)
RESCALED['datetime'] = ldt
RESCALED = RESCALED.set_index(['datetime'])
RESCALED.index = pd.to_datetime(RESCALED.index)
# return
return RESCALED