[PYTHON] Datensätze mit Pandas verarbeiten (2)

Gestern erklärte die Datensatzverarbeitung mit Pandas, aber es ist eine Fortsetzung.

Normalisieren Sie die Daten

Eigentlich ist die Normalisierung in Bisherigen Artikeln beiläufig aufgetreten, aber ich glaube, ich habe sie nicht richtig erklärt.

** Normalisieren ** in der Statistik besteht darin, Daten aus verschiedenen Kriterien nach bestimmten Kriterien zu transformieren, um die Verwendung zu vereinfachen.

Angenommen, Sie haben 90 Punkte auf Japanisch und 70 Punkte auf Mathematik. Wenn Sie einfach die Zahlen vergleichen, erhalten Sie bessere Noten in der Landessprache. Was aber, wenn die durchschnittliche Punktzahl in der Landessprache 85 Punkte und die durchschnittliche Punktzahl in Mathematik 55 Punkte beträgt? Der Vorteil der Normalisierung besteht darin, dass Sie auf diese Weise Daten mit verschiedenen Kriterien vergleichen können.

Im Allgemeinen bedeutet dies, dass die Werte so konvertiert werden, dass der Mittelwert 0 und die Varianz (und Standardabweichung) 1 beträgt.

Dies kann mit der folgenden Formel berechnet werden.

Normalized(A(n)) = \frac {(A(n) - μ(A))} {\sigma(A)}

Das heißt, subtrahieren Sie den Durchschnitt und dividieren Sie durch die Standardabweichung. Dies ergibt einen Mittelwert von 0 und eine Standardabweichung von 1.

Visualisieren Sie die Normalisierung

Am besten bewegen Sie Ihre Hände und sehen alles. Machen wir dasselbe mit Pandas.

Teilen Sie zunächst den Datenrahmen durch den Gesamtwert in Spaltenrichtung und normalisieren Sie ihn so, dass die Gesamtsumme 1 beträgt.

1.png

data.div(data.sum(1), axis=0)

2.png

Normalisieren Sie im Quadrantenbereich

(data - data.quantile(0.5).values) / (data.quantile(0.75)-data.quantile(0.25)).values

7.png

Protokollkonvertierung

Logistische Konvertierung erstellt eine Variable, die einer Normalverteilung folgt, indem der Logarithmus der Variablen verwendet wird, die einer logarithmischen Normalverteilung folgt. Das ist.

Die logistische Konvertierung erleichtert das Organisieren und Ausdrücken kleiner und großer Zahlen.

Es ist möglicherweise einfacher zu verstehen, ob es im Code ausgedrückt wird.

data.apply(np.log)

8.png

Finden Sie die Bewegungsrate

Die Bewegungsrate (Anstiegsrate) ist ein numerischer Wert, der angibt, um wie viel sich der Wert gegenüber einem bestimmten Standardwert geändert hat.

pct_change () konvertiert den Wert des Datenrahmens in die Verschiebungsrate. Der zu beachtende Punkt ist, dass die erste Zahl keinen Präzedenzfall hat, daher ist die Bewegungsrate NaN. Die Bewegungsrate erschien auch beiläufig in Vorheriger Artikel.

data.T.pct_change().dropna(axis=0)

Wie ich gestern vorgestellt habe, können Sie eine Tabelle erstellen, indem Sie fehlende Werte löschen. Dies ist jedoch etwas verwirrend, da der erste Wert des Diagramms groß wird.

9.png

Speichern Sie den IPython-Arbeitsverlauf

Es hängt nicht direkt mit der Verarbeitung des Datasets zusammen, aber es wäre praktisch, wenn die Ergebnisse der IPython-Versuche in eine Datei ausgegeben und gespeichert werden könnten. Wenn Sie die richtige Testversion erstellt haben, können Sie sie so wie sie ist als Skript verwenden. Sie kann wiederverwendet werden, z. B. indem Sie den Code aus dem Arbeitsverlauf extrahieren.

import readline
readline.write_history_file("history.py")

Dadurch wird der Verlauf des Codes, den Sie in IPython eingeben, als history.py gespeichert. Es ist sehr praktisch.

Zusammenfassung

Auch dieses Mal haben wir verschiedene Prozesse zusammengefasst, die häufig bei der Verarbeitung von Datensätzen verwendet werden.

Recommended Posts

Datensätze mit Pandas verarbeiten (1)
Datensätze mit Pandas verarbeiten (2)
Zusammenführen von Datensätzen mit Pandas
Datenverarbeitungstipps mit Pandas
Versuchen Sie schnell, Ihren Datensatz mit Pandas zu visualisieren
Beispiel für eine effiziente Datenverarbeitung mit PANDAS
Bildverarbeitung mit MyHDL
Mit Pandas schnell visualisieren
Bootstrap-Sampling mit Pandas
Konvertieren Sie 202003 bis 2020-03 mit Pandas
Zeichnen Sie ein Diagramm, indem Sie es mit Pandas groupby verarbeiten
Pandas lernen mit Chemoinfomatik
Datenvisualisierung mit Pandas
Datenmanipulation mit Pandas!
Bildverarbeitung mit Python
Parallelverarbeitung mit Mehrfachverarbeitung
Daten mit Pandas mischen
100 Sprachverarbeitung Knock-95 (mit Pandas): Bewertung mit WordSimilarity-353
Bildverarbeitung mit PIL
Verarbeiten Sie CSV-Daten mit Python (Zählverarbeitung mit Pandas)
Bildverarbeitung mit Python (Teil 2)
Lesen Sie CSV mit Python-Pandas
Laden Sie verschachtelten Json mit Pandas
Parallelverarbeitung mit lokalen Funktionen
Bildverarbeitung mit PIL (Pillow)
"Apple-Verarbeitung" mit OpenCV3 + Python3
Akustische Signalverarbeitung mit Python (2)
[Python] Ändere den Typ mit Pandas
Parallele Verarbeitung mit Parallel von Scikit-Learn
Bildverarbeitung mit Python (Teil 1)
Bildverarbeitung mit Python (3)
Standardisieren Sie nach Gruppen mit Pandas
Verhindern Sie Auslassungen mit Pandas Print
[Python] Bildverarbeitung mit Scicit-Image
Studieren Sie die Verarbeitung natürlicher Sprache mit Kikagaku
Grundlagen der Echtzeit-Bildverarbeitung mit opencv
Pandas Grundlagen für Anfänger ① Lesen & Verarbeiten
[Python] Einfache Parallelverarbeitung mit Joblib
Extrahieren Sie den Maximalwert mit Pandas.
Pandas Grundlagen für Anfänger ⑧ Ziffernverarbeitung
100 Sprachverarbeitungsklopfen mit Python (Kapitel 1)
[Verarbeitung natürlicher Sprache] Vorverarbeitung mit Japanisch
Pandas
Probieren Sie die Audiosignalverarbeitung mit librosa-Beginner aus
100 Sprachverarbeitungsklopfen mit Python (Kapitel 3)
Vielseitige Datenerfassung mit Pandas + Matplotlib
Die Bildverarbeitung mit Python 100 klopft an die Binärisierung Nr. 3
[Python] Verbinde zwei Tabellen mit Pandas
Pfadverarbeitung mit takewhile und dropwhile
Extrahieren Sie bestimmte mehrere Spalten mit Pandas
1. Mit Python 1-1 gelernte Statistiken. Grundlegende Statistiken (Pandas)
Bequeme Analyse mit Pandas + Jupyter Notebook
Sprachverarbeitung 100 Knocks-31 (mit Pandas): Verben
Zeichnen Sie ein Diagramm mit Pandas + XlsxWriter
Bearbeiten von Strings mit Pandas gruppieren nach
Bulk Insert Pandas DataFrame mit psycopg2
Ich möchte ○○ mit Pandas machen
Erstellen Sie eine Altersgruppe mit Pandas
100 Bildverarbeitung mit Python Knock # 2 Graustufen