Hier is een SQL-query die u op weg zou moeten helpen (ervan uitgaande dat u deze per kolom wilt berekenen):
create table normalize as
select
(RT - min(RT)over()) / (max(RT)over() - min(RT)over()) * 0.8 + 0.1 as RT_norm
from test;
Ik heb deze query getest in sqlite3, niet in MySQL. Het is niet per se optimaal, maar volgt intuïtief de formule. Let op, de over
verandert de min / max-aggregatiefuncties in vensterfuncties, wat betekent dat ze naar de hele kolom kijken, maar het resultaat wordt herhaald op elke rij.
Todo
Je zou nog steeds het volgende moeten doen:
- verzend de MySQl-query via Python
- herhaal dezelfde code voor elke kolom
- geef elke kolom een naam
- wijs de resulterende tabel toe aan een schema (hoogstwaarschijnlijk)
- handvat delen door 0 als een kolom max en min gelijk is