Wie kann ich das normalisieren der Daten in einer Reihe von Spalten in meine pandas dataframe
Angenommen ich habe eine Pandabären-Daten-frame surveyData:
Ich möchte normalisieren die Daten in jeder Spalte durch ausführen:
surveyData_norm = (surveyData - surveyData.mean()) / (surveyData.max() - surveyData.min())
Dieser würde funktionieren, wenn meine Daten Tabelle nur enthalten die Spalten, die ich wollte zu normalisieren. Jedoch habe ich einige Spalten mit string-Daten vorhergehenden wie:
Name State Gender Age Income Height
Sam CA M 13 10000 70
Bob AZ M 21 25000 55
Tom FL M 30 100000 45
Ich will nur zu normalisieren, die Alter, Einkommen, Höhe und Spalten, aber meine obige Methode funktioniert nicht, weil der string-Daten in name, Status und Geschlecht Spalten.
- kann Sie verwenden, versuchen Sie: .... except ValueError: ...... Muster. Sie können übergeben, die Normalisierung der Funktion auf string-Spalten. Möglicherweise gibt es mehr-mehr "pandastic" Art und Weise zu tun, obwohl.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie Operationen auf eine Teilmenge der Zeilen oder Spalten in der pandas in einer Reihe von Möglichkeiten. Eine sinnvolle Möglichkeit ist die Indizierung:
Diese gilt es, um nur die Spalten, die Sie wünschen und ordnen Sie das Ergebnis zurück in diese Spalten. Alternativ können Sie auch setzen Sie zu neuen, normalisierten Spalten und halten Sie die Originale, wenn Sie wollen.
.....
mean
sollte geändert werden, ummin
imlambda
Funktion.Einfache Art und Weise effizienter:
Pre-berechnet den Mittelwert:
dropna()
vermeiden Sie fehlende Daten.diese Weise funktionieren wird...
Ich denke, es ist besser, zu verwenden 'sklearn.Vorverarbeitung " in diesem Fall, die kann uns noch viel mehr geben Skalierung Optionen.
Die Art und Weise zu tun, dass in Ihrem Fall bei der Verwendung von StandardScaler wäre: