sql >> Databáze >  >> RDS >> Mysql

Jak normalizovat dolování dat Min Max z Mysql v Pythonu

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



  1. Oracle ekvivalent Java's Varargs

  2. Problém s fokusem systému Vista při vyvolání kontroly pravopisu aplikace Microsoft Word z Oracle Forms

  3. Znamená to UPDATE WHERE Value is IN Poddotaz, který má GROUP BY, takže žádný problém(y) s podmínkami závodu?

  4. Před přístupem k datům z kurzoru se ujistěte, že je správně inicializován