Berikut adalah kueri SQL yang akan membantu Anda memulai (dengan asumsi Anda ingin menghitungnya per kolom):
create table normalize as
select
(RT - min(RT)over()) / (max(RT)over() - min(RT)over()) * 0.8 + 0.1 as RT_norm
from test;
Saya menguji kueri ini di sqlite3, bukan MySQL. Ini belum tentu optimal, tetapi secara intuitif mengikuti rumus. Perhatikan, over
mengubah fungsi agregat min / max menjadi fungsi jendela, yang berarti mereka melihat seluruh kolom, tetapi hasilnya diulang pada setiap baris.
Lakukan
Anda masih perlu:
- kirim kueri MySQl melalui Python
- ulangi kode yang sama untuk setiap kolom
- beri nama setiap kolom
- tetapkan tabel yang dihasilkan ke skema (kemungkinan besar)
- tangani bagi dengan 0 jika kolom maks dan min sama