Zusammenfassung der Vorverarbeitungsmethoden für Python-Anfänger (Pandas-Datenrahmen)

Ich bin neu in Python. In Bezug auf Datenrahmenoperationen in Pandas gab es meines Erachtens keinen Artikel, in dem die Punkte und Zwecke der Vorverarbeitung erläutert wurden, obwohl es nur zahlreiche Artikel zur Erklärung der Operation gibt. Ich habe beschlossen, es als Lernnotiz zu erstellen.

Angenommener Leser

Was Sie nach dem Lesen dieses Artikels tun können

--Wenn Sie einen Datenrahmen mithilfe der Pandas-Bibliothek lesen, können Sie sowohl den Zweck der Vorverarbeitung als auch die spezifische Vorgehensweise für die ersten Schritte verstehen. ―― Insbesondere können Sie die Verarbeitung nach dem Lesen der CSV-Datei problemlos durchführen.

Annahme

――Der Code in diesem Dokument wurde geschrieben, nachdem Folgendes geschrieben wurde. Bitte ersetzen Sie df gegebenenfalls durch Ihren Datenrahmen. Stellen Sie sich die Passagierdaten der Titanic vor, die häufig im Einführungsinhalt von Statistiken verwendet werden, aber die Daten, die herauskommen, sind die Fiktion für die Erstellung dieses Artikels.

import pandas as pd
df = pd.read_csv("hogehoge/test.csv", usecols = ['PassengerId','Sex','Age'], header = 1)

Hauptartikel I | Datenübersicht

1. Visuelle Bestätigung

--Überprüfen Sie den Inhalt der Daten visuell mit der Head-Methode und der Tail-Methode --Überprüfen Sie die Zeilen- und Spaltennamen mit der Spaltenmethode und der Indexmethode. --Zweck: Überprüfen Sie, ob die falsche Datei gelesen wurde und ob die Daten wie erwartet gelesen wurden.

#führen/Zählen Sie die letzten beiden Zeilen auf. Geben Sie die Anzahl der Zeilen an, die Sie einchecken möchten. 2(Wenn nicht angegeben, wird 6 angegeben)
print(df.head(2))
print(df.tail(2))
print("Spaltenname:",df.columns)
print("Zeilenname(index):"df.index)

"""
Angezeigt als ↓:
# head
   PassengerId     Sex   Age
0            1  female  23.0
1            2    male  48.0

# tail
     PassengerId     Sex   Age
998          999  female  41.0
999         1000    male  15.0

Spaltenname: Index(['PassengerId', 'Sex', 'Age'], dtype='object')

Zeilenname: RangeIndex(start=0, stop=1000, step=1)

"""

2. Bestätigen Sie den Datentyp

--Verwenden Sie das Attribut dtypes --Attribute-> Hängen Sie `` `.hoge``` wie eine Methode nach dem Datenrahmen an --Zweck: Abhängig von der verwendeten Bibliothek kann die Berechnung mit gemischten Datentypen einen Fehler verursachen, um ihn später zu entfernen (später beschrieben).

print(df.dtypes)

"""
Es wird wie folgt angezeigt
PassengerId      int64
Sex             object
Age            float64
"""

――Aus diesem Ergebnis können Sie meines Erachtens die folgenden Probleme erstellen, zum Beispiel: ―― 1) Geschlecht wird als Zeichenkette wie männlich oder weiblich gespeichert. Ist es nicht besser, einen Dummy-Wert wie 0/1 hinzuzufügen, der für die Berechnung verwendet wird? ―― 2) Das Alter ist float (Gleitkomma-Typ), während PassengerId int (Integer-Typ) ist. Beide werden für die Berechnung verwendet, und es ist besser, sie mit beiden zu vereinheitlichen.

3. Bestätigung und Ersatz des fehlenden Wertes (NaN)

--Verwenden Sie eine Kombination aus isnull-Methode und einer beliebigen Methode und schließen Sie sie aus ―― Indem Sie diese kombinieren, können Sie "eine Spalte erkennen, die mindestens ein NaN enthält".

print(df.isnull().any())

"""
Das Ergebnis wird wie folgt angezeigt
PassengerId    False
Sex            False
Age             True
dtype: bool

"""

――Der Vorschlag von hier lautet: "NaN ist in der Spalte Alter vorhanden, daher scheint es möglich zu sein, es zu entfernen."

4. Bestätigung der Basisstatistik

--Überprüfen wir die grundlegenden Statistiken mit der Beschreibungsmethode

print(df.describe())
"""
       PassengerId         Age
count  1000.000000  884.000000
mean    446.000000   29.699118
std     257.353842   14.526497
min       1.000000    3.100000
25%     215.500000   20.125000
50%     430.000000   27.000000
75%     703.500000   39.000000
max    1000.000000   80.000000
"""

--Vorschläge erhalten:

Hauptartikel II | Grundlegende Verarbeitung durchführen

1. Behandeln Sie fehlende Werte

――In diesem Fall beispielsweise "Setzen wir NaN des Alters auf 0. Wenn wir den Durchschnittswert des Alters in der Zukunft berechnen, analysieren wir andere Werte als 0" und konvertieren Sie NaN in 0. --In loc extrahieren Sie "alle Altersspalten in der Zeile, in der der Wert der Altersspalte NaN ist" (obwohl dies auf Japanisch kompliziert ist) und ersetzen Sie 0.

#Führen Sie die Konvertierung für die Spalte durch, in der das Vorhandensein von NaN im vorherigen Kapitel bestätigt wurde
df.loc[df['Age'].isnull(), 'Age'] = 0

#Überprüfen Sie, ob der Vorgang korrekt durchgeführt wurde
print(df.isnull().any())

"""
Es wird wie folgt angezeigt. Vergleiche mit dem vorherigen Kapitel c.
PassengerId    False
Sex            False
Age            False
dtype: bool
"""

2. Vereinheitlichen Sie Datentypen und Datentypen

#Änderung des PassengerId-Typs
df.PassengerId = df.PassengerId.astype('float64')

#Sex Dummy Wertzuweisung(0 für männlich und 1 für weiblich) &float64
df.Sex[df.Sex=='male'] = 0
df.Sex[df.Sex=='female'] = 1
df.Sex = df.Sex.astype('float64')

#Überprüfen Sie, ob der Vorgang korrekt durchgeführt wurde
print(df.dtypes)

"""
Es sollte so aussehen:
PassengerId    float64
Sex            float64
Age            float64

"""

abschließend

Referenz

Recommended Posts

Zusammenfassung der Vorverarbeitungsmethoden für Python-Anfänger (Pandas-Datenrahmen)
100 Pandas klopfen für Python-Anfänger
[Python] Zusammenfassung der Methode zur Tabellenerstellung mit DataFrame (Pandas)
[Python] Operationsnotiz von Pandas DataFrame
Pandas Basics Summary Link für Anfänger
[Für Anfänger] Zusammenfassung der Standardeingabe in Python (mit Erklärung)
[Python] Protokoll des Studientreffens für Anfänger (7/15)
Zusammenfassung verschiedener for-Anweisungen in Python
Pandas des Anfängers, vom Anfänger, für den Anfänger [Python]
Zusammenfassung nützlicher Techniken von Scrapy in Python
Python-Pandas: Suchen Sie mit regulären Ausdrücken nach DataFrame
Einfaches Verständnis von Python für & Arrays (für Super-Anfänger)
Zusammenfassung häufig verwendeter Python-Arrays (für mich)
Pandas-Grundlagen für Anfänger ② Übersicht über die Daten
Grundlegende Geschichte der Vererbung in Python (für Anfänger)
Grundlegende Bedienung von Python Pandas Series und Dataframe (1)
Python Lehrbuch für Anfänger
Zusammenfassung der Python-Argumente
OpenCV für Python-Anfänger
Python-Anwendung: Pandas # 3: Dataframe
Datenanalyse in Python Zusammenfassung der Quellen, die Anfänger zuerst betrachten sollten
Zusammenfassung der Python-Sortierung (Liste, Wörterbuchtyp, Serie, DataFrame)
Zusammenfassung der Python-Umgebungseinstellungen für mich [mac] [ubuntu]
Zusammenfassung der Tools zum Betreiben der Windows-Benutzeroberfläche mit Python
Zusammenfassung der beim Extrahieren von Daten verwendeten Pandas-Methoden [Python]
Zusammenfassung der Python3-Listenoperationen
Lernablauf für Python-Anfänger
Python3-Umgebungskonstruktion (für Anfänger)
Übersicht über Docker (für Anfänger)
Python #Funktion 2 für Super-Anfänger
Python Pandas Studie aktuelle Zusammenfassung
Grundlegende Python-Grammatik für Anfänger
Zusammenfassung der grundlegenden Verwendung von Pandas
Python #Funktion 1 für Super-Anfänger
Python #Liste für Super-Anfänger
~ Tipps für Python-Anfänger mit Liebe von Pythonista ③ ~
Extrahieren Sie nur Python für die Vorverarbeitung
Die Kraft der Pandas: Python
[Für Anfänger] Grundlagen von Python erklärt durch Java Gold Teil 2
Konvertieren Sie mit Python für .NET von Pandas DataFrame in System.Data.DataTable
■ Kaggle-Übung für Anfänger - Einführung von Python - von Google Colaboratory
Zusammenfassung der Unterstützung von Hash-Operationen (Dictionary) für Ruby und Python
Pandas-Grundlagen für Anfänger ④ Umgang mit Datums- und Zeitangaben
Die Zusammenfassung des maschinellen Lernens in Python für Anfänger ist sehr kurz.
[Python] Die größten Schwächen und Nachteile von Google Colaboratory [Für Anfänger]
[Für Anfänger] Eine Wortzusammenfassung der gängigen Programmiersprachen (Version 2018)
[Für Anfänger] Grundlagen von Python erklärt durch Java Gold Teil 1
Python-E-Book-Zusammenfassung nützlich für die frei lesbare Datenanalyse
Best Practices für den Umgang mit Daten mit Pandas
Pandas-Grundlagen für Anfänger ② Übersicht über die Daten
Python-Handspiel (Pandas / DataFrame-Beginn)
Pandas Grundlagen für Anfänger ① Lesen & Verarbeiten
Pandas / DataFrame-Tipps für den praktischen Gebrauch
[Python Machine Learning] Empfehlung zur Verwendung von Spyder für Anfänger (Stand August 2020)
Eine kurze Zusammenfassung von Graphviz in Python (nur für Mac erklärt)
Pandas Grundlagen für Anfänger ⑧ Ziffernverarbeitung
Python-Übungen für Anfänger # 2 [für Anweisung / while-Anweisung]
Python für Super-Anfänger Super-Anfänger Python # Wörterbuch Typ 1
Eine kurze Zusammenfassung der Python-Sammlung
Zusammenfassung des maschinellen Lernens von Python-Anfängern
Was ist Schaben? [Zusammenfassung für Anfänger]