Oft können Sie die Datenwerte von einer oder mehreren Spalten in einer Pandas Dataframe zu normalisieren.

In diesem Tutorial werden zwei Möglichkeiten erläutert:

1. Min-Max-Normalisierung

  • Ziel: Konvertiert jeden Datenwert in einen Wert zwischen 0 und 1.
  • Formel: Neuer Wert = (Wert - min) / (max - min)

2. Mittelwert Normalisierung

  • Ziel: Skaliert Werte so, dass der Mittelwert aller Werte 0 und std ist. dev. ist 1.
  • Formel: Neuer Wert = (Wert - Mittelwert) / (Standardabweichung)

Schauen wir uns ein Beispiel an, wie jede Methode in einem Pandas DataFrame verwendet wird.

Beispiel 1: Min-Max-Normalisierung

Angenommen, wir haben die folgenden Pandas DataFrame:

import pandas as pd

# Dataframe erstellen
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
                   'assists': [5, 7, 7, 9, 12],
                   'rebounds': [11, 8, 10, 6, 6]}) 

# Dataframe anzeigen
print(df)

   points  assists  rebounds
0      25        5        11
1      12        7         8
2      15        7        10
3      14        9         6
4      19       12         6

Wir können den folgenden Code verwenden, um eine Min-Max-Normalisierung auf jede Spalte im DataFrame anzuwenden:

(df-df.min())/(df.max()-df.min())

        points          assists         rebounds
0   1.000000    0.000000    1.0
1   0.000000    0.285714    0.4
2   0.230769    0.285714    0.8
3   0.153846    0.571429    0.0
4   0.538462    1.000000    0.0

Der Maximalwert in jeder Spalte ist jetzt gleich 1 und der Minimalwert in jeder Spalte ist jetzt gleich 0, wobei alle anderen Werte zwischen 0 und 1 liegen.

Beispiel 2: Mittelwert Normalisierung

Nehmen wir noch einmal an, wir haben die folgenden Pandas DataFrame:

import pandas as pd

# Dataframe erstellen
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
                   'assists': [5, 7, 7, 9, 12],
                   'rebounds': [11, 8, 10, 6, 6]}) 

# Dataframe anzeigen
print(df)

   points  assists  rebounds
0      25        5        11
1      12        7         8
2      15        7        10
3      14        9         6
4      19       12         6

Wir können den folgenden Code verwenden, um eine mittlere Normalisierung auf jede Spalte im DataFrame anzuwenden:

(df-df.mean())/df.std()

        points          assists     rebounds
0   1.554057    -1.133893   1.227881
1   -0.971286   -0.377964   -0.087706
2   -0.388514   -0.377964   0.789352
3   -0.582772   0.377964    -0.964764
4   0.388514    1.511858    -0.964764

Die Werte in jeder Spalte werden jetzt so normalisiert, dass der Mittelwert der Werte in jeder Spalte 0 und die Standardabweichung der Werte in jeder Spalte 1 ist.

Wenn ein bestimmter Datenpunkt einen normalisierten Wert größer als 0 hat, ist dies ein Hinweis darauf, dass der Datenpunkt größer als der Mittelwert seiner Spalte ist. Umgekehrt ist ein normalisierter Wert kleiner als 0 ein Hinweis darauf, dass der Datenpunkt kleiner als der Mittelwert seiner Spalte ist.

Zusätzliche Ressourcen

Pandas: Gruppieren und Aggregieren nach mehreren Spalten
So filtern Sie einen Pandas DataFrame unter mehreren Bedingungen
So zählen Sie fehlende Werte in einem Pandas DataFrame

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: