J'ai un grand pandas dataframe avec environ 80 colonnes. Chacune des 80 colonnes dans le dataframe rapporte des statistiques de trafic quotidiennes pour les sites Web (les colonnes sont les sites Web).
Comme je ne veux pas travailler avec les statistiques brutes de trafic, j'aime plutôt normaliser toutes mes colonnes (sauf la première, qui est la date). Soit de 0 à 1 ou (encore mieux) de 0 à 100.
Date A B ...
10/10/2010 100.0 402.0 ...
11/10/2010 250.0 800.0 ...
12/10/2010 800.0 2000.0 ...
13/10/2010 400.0 1800.0 ...
Cela étant dit, je me demande quelle normalisation appliquer. mise à l'échelle Min-Max vs. Normalisation z-Score (normalisation)? Certaines de mes colonnes ont de fortes valeurs aberrantes. Ce serait formidable d'avoir un exemple. Je suis désolé de ne pas pouvoir fournir les données complètes.
Tout d'abord, transformez votre colonne Date en index.
dates = df.pop('Date')
df.index = dates
Utilisez ensuite la normalisation du score z:
df1 = (df - df.mean())/df.std()
ou mise à l'échelle min-max:
df2 = (df-df.min())/(df.max()-df.min())
Je conseillerais probablement la normalisation du score z, car la mise à l'échelle min-max est très sensible aux valeurs aberrantes.