sql >> Database >  >> RDS >> Mysql

Hoe Data Mining Min Max van Mysql in Python normaliseren?

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



  1. Te veel automatische verhogingen met ON DUPLICATE KEY UPDATE

  2. Array van ints doorgeven aan T-SQL opgeslagen proc via entiteitsframework

  3. sql-schuifvenster - maximale waarde vinden over interval

  4. MYSQL-query voor het selecteren van het resultaat van een voorwaarde van een tabel en weergeven in een andere tabel