Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment normaliser l'exploration de données Min Max à partir de Mysql en Python

Voici une requête SQL qui devrait vous aider à démarrer (en supposant que vous souhaitiez la calculer par colonne) :

   create table normalize as
     select
       (RT - min(RT)over()) / (max(RT)over() - min(RT)over()) * 0.8 + 0.1 as RT_norm
     from test;

J'ai testé cette requête dans sqlite3, pas MySQL. Ce n'est pas nécessairement optimal, mais suit intuitivement la formule. Remarquez, le over transforme les fonctions d'agrégation min/max en fonctions de fenêtre, ce qui signifie qu'elles regardent toute la colonne, mais le résultat est répété sur chaque ligne.

À faire

Vous devrez toujours :

  • envoyer la requête MySQl via Python
  • répéter le même code pour chaque colonne
  • attribuez un nom à chaque colonne
  • attribuer la table résultante à un schéma (le plus probable)
  • gérer la division par 0 dans le cas où une colonne max et min sont égales