[PYTHON] Standardisieren Sie nach Gruppen mit Pandas

Einführung

Ich verarbeitete Daten für maschinelles Lernen mit Pandas. Ich wollte nach Gruppen einiger Spalten standardisieren, anstatt als Ganzes zu standardisieren. Obwohl der Gruppenname nicht standardisiert werden muss, gab es eine Szene, in der eine Standardisierungsverarbeitung unter Beibehaltung des Gruppennamens durchgeführt werden sollte. Es ist nur ein Memo.

Ausführungsumgebung

pandas = 0.25.3 numpy = 1.18.0

Code zur Standardisierung nach Gruppen in Pandas

Standardisieren Sie die Spalten für jeden Klassennamen in einer Tabelle wie der folgenden

class a b c
a 1.0 2.0 3.0
a 4.0 5.0 6.0
b 7.0 8.0 9.0
b 10.0 11.0 12.0

import pandas as pd
import numpy as np

# make data set
df = pd.DataFrame(np.arange(12).reshape(4, 3),
                  columns=['col_0', 'col_1', 'col_2'],
                  index=['row_0', 'row_1', 'row_2','row_3'])
df["class"] = ["a", "a", "b", "b"]

# Standardization for each group
class_ = df[["class"]]
class_names = df.groupby("class").groups.keys()
for name in class_names:
     df_tmp = df[(df['class'] == name)].drop(columns=['class'])
     df[(df['class'] == name)] =  (df_tmp - df_tmp.mean()) /df_tmp.std()
df["class"] = class_

Erster Beitrag. .. Es ist nur ein Memo. Bitte lassen Sie mich wissen, ob es einen besseren Weg gibt.

Recommended Posts

Standardisieren Sie nach Gruppen mit Pandas
Bearbeiten von Strings mit Pandas gruppieren nach
Feature-Generierung mit Pandas gruppieren nach
Erstellen Sie eine Altersgruppe mit Pandas
Pandas: groupby (), um den Wert nach Gruppe zu vervollständigen
Geschwindigkeitsvergleich beim Umschalten nach Gruppen nach Pandas
Nach Pandas sortieren
Bei to_csv mit Pandas wurde es Zeile für Zeile
Zeichnen Sie ein Diagramm, indem Sie es mit Pandas groupby verarbeiten
Mit Pandas schnell visualisieren
Datensätze mit Pandas verarbeiten (1)
Bootstrap-Sampling mit Pandas
Konvertieren Sie 202003 bis 2020-03 mit Pandas
Datensätze mit Pandas verarbeiten (2)
Zusammenführen von Datensätzen mit Pandas
Pandas lernen mit Chemoinfomatik
Datenvisualisierung mit Pandas
Datenmanipulation mit Pandas!
Daten mit Pandas mischen
Extrahieren Sie mit Pandas DataFrame N Proben für jede Gruppe
pandas Matplotlib Zusammenfassung nach Verwendung
Lesen Sie CSV mit Python-Pandas
Laden Sie verschachtelten Json mit Pandas
[Python] Ändere den Typ mit Pandas
Visualisierungsnotiz von Pandas, Seaborn
Verhindern Sie Auslassungen mit Pandas Print
Datenverarbeitungstipps mit Pandas
Extrahieren Sie den Maximalwert mit Pandas.
Standardisieren Sie die nicht normale Verteilung mit einem robusten Z-Score
Vielseitige Datenerfassung mit Pandas + Matplotlib
[Python] Verbinde zwei Tabellen mit Pandas
Extrahieren Sie bestimmte mehrere Spalten mit Pandas
1. Mit Python 1-1 gelernte Statistiken. Grundlegende Statistiken (Pandas)
Bequeme Analyse mit Pandas + Jupyter Notebook
Zeichnen Sie ein Diagramm mit Pandas + XlsxWriter
Hallo Welt! Von QPython mit Braincrash
Bulk Insert Pandas DataFrame mit psycopg2
Ich möchte ○○ mit Pandas machen
Objekterkennung mit openCV durch traincascade
[Python] Format, wenn to_csv mit Pandas
Behandelt verschiedene Datumsformate mit Pandas