Oto zapytanie SQL, które powinno Cię zacząć (zakładając, że chcesz je obliczyć dla każdej kolumny):
create table normalize as
select
(RT - min(RT)over()) / (max(RT)over() - min(RT)over()) * 0.8 + 0.1 as RT_norm
from test;
Przetestowałem to zapytanie w sqlite3, a nie w MySQL. Niekoniecznie jest optymalny, ale intuicyjnie podąża za wzorem. Zauważ, że over
zamienia funkcje agregujące min / max w funkcje okna, co oznacza, że patrzą na całą kolumnę, ale wynik jest powtarzany w każdym wierszu.
Do zrobienia
Nadal będziesz musiał:
- wyślij zapytanie MySQL przez Pythona
- powtórz ten sam kod dla każdej kolumny
- nadaj każdej kolumnie nazwę
- przypisz wynikową tabelę do schematu (najprawdopodobniej)
- obsługa dzielenia przez 0 w przypadku, gdy kolumny max i min są równe