So standardisieren sie daten in python: mit beispielen
Beim Standardisieren eines Datensatzes werden alle Werte im Datensatz so skaliert, dass der Mittelwert 0 und die Standardabweichung 1 beträgt.
Wir verwenden die folgende Formel, um Werte in einem Datensatz zu normalisieren:
x neu = (x i – x ) / s
Gold:
- x i : der i-te Wert des Datensatzes
- x : Das Stichprobenmittel
- s : die Standardabweichung der Stichprobe
Wir können die folgende Syntax verwenden, um alle Spalten in einem Pandas-DataFrame in Python schnell zu normalisieren:
(df- df.mean ())/df. std ()
Die folgenden Beispiele zeigen, wie Sie diese Syntax in der Praxis anwenden können.
Beispiel 1: Standardisieren Sie alle DataFrame-Spalten
Der folgende Code zeigt, wie alle Spalten in einem Pandas-DataFrame standardisiert werden:
import pandas as pd #create data frame df = pd. DataFrame ({' y ': [8, 12, 15, 14, 19, 23, 25, 29], ' x1 ': [5, 7, 7, 9, 12, 9, 9, 4], ' x2 ': [11, 8, 10, 6, 6, 5, 9, 12], ' x3 ': [2, 2, 3, 2, 5, 5, 7, 9]}) #view data frame df y x1 x2 x3 0 8 5 11 2 1 12 7 8 2 2 15 7 10 3 3 14 9 6 2 4 19 12 6 5 5 23 9 5 5 6 25 9 9 7 7 29 4 12 9 #standardize the values in each column df_new = (df- df.mean ())/df. std () #view new data frame df_new y x1 x2 x3 0 -1.418032 -1.078639 1.025393 -0.908151 1 -0.857822 -0.294174 -0.146485 -0.908151 2 -0.437664 -0.294174 0.634767 -0.525772 3 -0.577717 0.490290 -0.927736 -0.908151 4 0.122546 1.666987 -0.927736 0.238987 5 0.682756 0.490290 -1.318362 0.238987 6 0.962861 0.490290 0.244141 1.003746 7 1.523071 -1.470871 1.416019 1.768505
Wir können überprüfen, ob der Mittelwert und die Standardabweichung jeder Spalte gleich 0 bzw. 1 sind:
#view mean of each column df_new. mean () y 0.000000e+00 x1 2.775558e-17 x2 -4.163336e-17 x3 5.551115e-17 dtype:float64 #view standard deviation of each column df_new. std () y 1.0 x1 1.0 x2 1.0 x3 1.0 dtype:float64
Beispiel 2: Normalisieren Sie bestimmte DataFrame-Spalten
Manchmal möchten Sie möglicherweise nur bestimmte Spalten in einem DataFrame normalisieren.
Beispielsweise möchten Sie bei vielen Algorithmen für maschinelles Lernen möglicherweise nur die Prädiktorvariablen standardisieren, bevor Sie ein bestimmtes Modell an die Daten anpassen.
Der folgende Code zeigt, wie bestimmte Spalten in einem Pandas-DataFrame standardisiert werden:
import pandas as pd #create data frame df = pd. DataFrame ({' y ': [8, 12, 15, 14, 19, 23, 25, 29], ' x1 ': [5, 7, 7, 9, 12, 9, 9, 4], ' x2 ': [11, 8, 10, 6, 6, 5, 9, 12], ' x3 ': [2, 2, 3, 2, 5, 5, 7, 9]}) #view data frame df y x1 x2 x3 0 8 5 11 2 1 12 7 8 2 2 15 7 10 3 3 14 9 6 2 4 19 12 6 5 5 23 9 5 5 6 25 9 9 7 7 29 4 12 9 #define predictor variable columns df_x = df[[' x1 ', ' x2 ', ' x3 ']] #standardize the values for each predictor variable df[[' x1 ',' x2 ',' x3 ']] = (df_x- df_x.mean ())/df_x. std () #view new data frame df y x1 x2 x3 0 8 -1.078639 1.025393 -0.908151 1 12 -0.294174 -0.146485 -0.908151 2 15 -0.294174 0.634767 -0.525772 3 14 0.490290 -0.927736 -0.908151 4 19 1.666987 -0.927736 0.238987 5 23 0.490290 -1.318362 0.238987 6 25 0.490290 0.244141 1.003746 7 29 -1.470871 1.416019 1.768505
Beachten Sie, dass die Spalte „y“ unverändert bleibt, die Spalten „x1“, „x2“ und „x3“ jedoch alle standardisiert sind.
Wir können überprüfen, ob der Mittelwert und die Standardabweichung jeder Spalte von Prädiktorvariablen gleich 0 bzw. 1 sind:
#view mean of each predictor variable column df[[' x1 ', ' x2 ', ' x3 ']]. mean () x1 2.775558e-17 x2 -4.163336e-17 x3 5.551115e-17 dtype:float64 #view standard deviation of each predictor variable column df[[' x1 ', ' x2 ', ' x3 ']]. std () x1 1.0 x2 1.0 x3 1.0 dtype:float64
Zusätzliche Ressourcen
So normalisieren Sie Spalten in einem Pandas DataFrame
So entfernen Sie Ausreißer in Python
Standardisierung oder Normalisierung: Was ist der Unterschied?