Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So normalisieren Sie Data Mining Min Max von Mysql in Python

Hier ist eine SQL-Abfrage, die Ihnen den Einstieg erleichtern sollte (vorausgesetzt, Sie möchten sie pro Spalte berechnen):

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

Ich habe diese Abfrage in sqlite3 getestet, nicht in MySQL. Es ist nicht unbedingt optimal, folgt aber intuitiv der Formel. Beachten Sie, das over wandelt die Min/Max-Aggregatfunktionen in Fensterfunktionen um, was bedeutet, dass sie die ganze Spalte betrachten, aber das Ergebnis wird in jeder Zeile wiederholt.

Zu erledigen

Sie müssten trotzdem:

  • senden Sie die MySQl-Abfrage über Python
  • denselben Code für jede Spalte wiederholen
  • geben Sie jeder Spalte einen Namen
  • weisen Sie die resultierende Tabelle (höchstwahrscheinlich) einem Schema zu
  • handhabt die Division durch 0, falls eine Spalte max und min gleich ist