В приведенном ниже кадре данных я хочу масштабировать Open, High, Low, Close с одинаковыми значениями min и max в каждом символе.
Я могу сделать это с помощью следующего кода, но есть ли разумный способ реализовать это с препроцессорами SciKit Learn?
df = pd.DataFrame([[1, 'A', 10, 11, 9, 9, 100],
[2, 'A', 9, 13, 9, 12, 150],
[3, 'A', 12, 15, 11, 15, 130],
[1, 'B', 90, 95, 90, 92, 10],
[2, 'B', 92, 93, 84, 85, 13],
[3, 'B', 85, 88, 81, 83, 11]],
columns=['Timestamp', 'Symbol', 'Open', 'High', 'Low', 'Close', 'Volume'])
df.set_index(['Timestamp', 'Symbol', 'Volume'], inplace=True)
((df.stack() - df.stack().groupby('Symbol').min()) / (df.stack().groupby('Symbol').max() - df.stack().groupby('Symbol').min())).unstack().reset_index(['Volume'])