Zde je dotaz SQL, který by vám měl pomoci začít (za předpokladu, že jej chcete vypočítat na sloupec):
create table normalize as
select
(RT - min(RT)over()) / (max(RT)over() - min(RT)over()) * 0.8 + 0.1 as RT_norm
from test;
Testoval jsem tento dotaz v sqlite3, ne v MySQL. Není to nutně optimální, ale intuitivně se řídí vzorcem. Všimněte si, over
změní agregační funkce min/max na funkce okna, což znamená, že se dívají na celý sloupec, ale výsledek se opakuje na každém řádku.
Úkol
Stále budete potřebovat:
- odešlete dotaz MySQl přes Python
- zopakujte stejný kód pro každý sloupec
- každému sloupci dejte název
- přiřadit výslednou tabulku schématu (s největší pravděpodobností)
- v případě, že se max. a min. sloupce rovnají, vydělte 0