[PYTHON] Ein Memorandum of Method, das häufig bei der Analyse von Daten mit Pandas verwendet wird (für Anfänger)

Einführung

Wir haben die Methoden zusammengefasst, die häufig bei der Analyse von Daten mit Pandas verwendet werden. Wir werden nach Bedarf Korrekturen vornehmen.

1. Erstellen eines DataFrame

#Erstellen Sie einen DataFrame und speichern Sie die Liste
pd_sample = pd.DataFrame(aufführen)

#Erstellen Sie einen DataFrame und speichern Sie mehrere Listen in einem Wörterbuch
pd_sample = pd.DataFrame({"Spalte A.":Liste A., "Spalte B.":Liste B.})

#Erstellen Sie einen leeren DataFrame und verbinden Sie einen anderen DataFrame in der nachfolgenden Verarbeitung
pd_sampleA = pd.DataFrame()
pd_sampleA = pd.concat([pd_sampleA, pd_sampleB])

2. Datenverbindung (Vereinigung)

#pandas.concat()Funktion
pd_sampleAll = pd.concat([pd_sampleA, pd_sampleB], ignore_index=True)

pd_sampleA

Spalte A. Spalte B. Spalte C.
0 a b c

pd_sampleB

Spalte C. Spalte D.
0 y z

pd_sampleAll = pd.concat([pd_sampleA, pd_sampleB], ignore_index=True)

Spalte A. Spalte B. Spalte C. Spalte D.
0 a b c NaN
1 NaN NaN y z

3. Daten verbinden

#pandas.merge()Funktion
pd_sampleAll = pd.merge(pd_sampleA, pd_sampleB, on="Spaltenbezeichnung", how="left")

#pandas.DataFrame-Zusammenführung()Methode
pd_sampleAll = pd_sampleA.merge(pd_sampleB, on="Spaltenbezeichnung", how="left")

#Kombinieren Sie mehrere Spalten zu einem Schlüssel
pd_sampleAll = pd.merge(pd_sampleA, pd_sampleB, on=["Spalte A.", "Spalte B."], how="left")

#Join, wenn die Namen der Schlüsselspalten unterschiedlich sind
pd_sampleAll = pd.merge(pd_sampleA, pd_sampleB, left_on="Spalte A.", right_on="Spalte A.AA", how="left")

pd_sampleA

Spalte A. Spalte B. Spalte C.
0 a b c
1 aaa bbb ccc

pd_sampleB

Spalte A. Spalte D.
0 a x
1 aa y

** pd_sampleAll = pd.merge (pd_sampleA, pd_sampleB, on = "Spalte A", how = "left") **

Spalte A. Spalte B. Spalte C. Spalte D.
0 a b c x
1 aaa bbb ccc NaN

4. Datenextraktion

#Pandas durch Angabe des Spaltennamens.DataFrame extrahieren
pd_sampleA = pd_sampleAll[["Spalte A.", "Spalte B."]]

#pandas.loc()Extrahieren Sie, indem Sie die Position der Zeilen- und Spaltenbeschriftung mit Funktion angeben
#Der Serientyp wird zurückgegeben, wenn eine einzelne Zeile abgerufen wird, und der DataFrame-Typ wird zurückgegeben, wenn mehrere Zeilen abgerufen werden.
#Zusätzlich zum Zeilennamen können Sie auch einen bedingten Ausdruck angeben, der einen booleschen Typ in der Zeilenbezeichnung zurückgibt.
#Sie können auch mehrere Spalten und Zeilen aufteilen
pd_sampleA = pd_sampleAll.loc["Zeilenbeschriftung", "Spaltenbezeichnung"]
pd_sampleA = pd_sampleAll["Spaltenbezeichnung"].loc["Zeilenbeschriftung"]

#pandas.iloc()Extrahieren Sie, indem Sie die Position der Zeilennummer und der Spaltennummer mit der Funktion angeben
#Der Serientyp wird zurückgegeben, wenn eine einzelne Zeile abgerufen wird, und der DataFrame-Typ wird zurückgegeben, wenn mehrere Zeilen abgerufen werden.
#Sie können auch mehrere Spalten und Zeilen aufteilen
pd_sampleA = pd_sampleAll.iloc["Zeilennummer", "Spaltenindex"]

pd_sampleAll

Spalte A. Spalte B. Spalte C. Spalte D.
0 a b c d
1 aaa bbb ccc ddd

** pd_sampleA = pd_sampleAll.loc [pd_sampleAll ["Spalte A"] == "aaa", ["Spalte B", "Spalte C"]] **

Spalte B. Spalte C.
1 bbb ccc

5. Bestätigung fehlender Werte

#pandas.Series.isnull()Holen Sie sich die Zeile mit dem fehlenden Wert in der Methode
pd_sample = pd_sample["Spalte A."].isnull()

#isnull()Beliebig in der Methode()Überprüfen Sie mit, ob Spalten mit fehlenden Werten vorhanden sind
pd_sample["Spalte A."].isnull().any(axis=0)

#pandas.DataFrame.dropna()Löschen Sie eine Zeile, in der eine bestimmte Spalte in der Methode fehlt
pd_sample = pd_sample.dropna(subset=["Spalte A."])

#pandas.DataFrame.fillna()Ersetzen Sie fehlende Werte durch beliebige Werte in der Methode
pd_sample = pd_sample.fillna({"Spalte A.": "AAA", "Spalte B.": "BBB"}))

6. Datumskonvertierung

#pandas.to_datetime()Zeichenkette in Funktion(Objekttyp)Zum Datum / Uhrzeit-Typ
pd_sample["Datum"] = pd.to_datetime(pd_sample["Datum"])

#Rufen Sie Datum, Stunde, Minute, Sekunde, Tag usw. mit dem dt-Accessor für den Datums- / Uhrzeittyp ab
pd_sample["Mond"] = pd_sample["Datum"].dt.month

#datetime Typ strftime()Konvertieren Sie Datum und Uhrzeit mit der Methode in eine Zeichenfolge in einem beliebigen Format
pd_sample["Jahr Monat"] = pd_sample["Datum"].dt.strftime("%Y%m")

#pandas.to_timedelta()Ermitteln Sie mit der Funktion die Anzahl der Tage zwischen zwei Daten
import datetime
pd_sample["Anzahl der verstrichenen Tage"] = pd.to_timedelta(Zeitstempel 1-Zeitstempel 2)

#Ermitteln Sie die monatliche Differenz zwischen zwei Daten mithilfe des relativedelta-Objekts des dateutil-Moduls
#Die Differenz zwischen den beiden Daten im Rückgabewert(years=+1, months=+10, days=+8)Wird in Form von gespeichert
from dateutil.relativedelta import relativedelta
delta = relativedelta(Zeitstempel 1,Zeitstempel 2)
pd_sample["Verstrichene Monate"] = delta.years*12 + delta.months

7. Aggregation

#pandas.groupby()Aggregieren Sie, indem Sie die Spalte angeben, die Sie mit der Funktion und der Aggregationsmethode aggregieren möchten
#Standardmäßig lautet die Gruppenbezeichnung index. Wenn Sie dies also nicht möchten, wie z_index=Geben Sie False an.
pd_count = pd_sample.groupby("Die Spalte, die Sie zusammenstellen möchten").count()
pd_sum = pd_sample.groupby(["Spalte 1, die Sie zusammenfassen möchten", "Spalte 2, die Sie zusammenfassen möchten"], as_index=False).sum()[["Spalte 1, die Sie summieren möchten", "Spalte 2, die Sie summieren möchten"]]

#pandas.unique()Ermitteln Sie mit der Funktion die Anzahl der eindeutigen Datenelemente ohne Duplikate
pd_unique = pd.unique(pd_sample["Spalte A."])
pd_unique = pd_sample["Spalte A."].unique()

8. Andere Methoden

#pandas.agg()Gibt Durchschnitts-, Median-, Maximal- und Minimalwerte für eine bestimmte Spalte in einer Funktion aus
pd_sample = pd_sample.agg(["mean", "median", "max", "min"])["Spalten, die Sie aggregieren möchten"]

#pandas.DataFrame.describe()Gibt die Anzahl der Datenelemente, den Durchschnittswert, die Standardabweichung, den Minimalwert, den Quadranten, den Medianwert und den Maximalwert mit der Funktion aus
#Standardmäßig sind nur numerische Spalten (Integer-Typ int, Gleitkomma-Typ float) ausgewählt.
pd_sample.describe

#Bearbeiten Sie Zeichenfolgen mit dem Str-Accessor für den DateFrame-Typ
pd_sample["Spalte A."] = pd_sample["Spalte A."].str.replace(" ", "")

#pandas.Wo im DataFrame()Weisen Sie einen Wert gemäß der Bedingung in der Methode zu
#Wenn True, wird das aufrufende Objekt angewendet, und wenn False, wird das zweite Argument angewendet.
pd_sample["Spalte A."] = pd_sample["Spalte A."].where(pd_sample["Spalte B."]>3, 0)

#pandas.DataFrame-Maske()Weisen Sie einen Wert gemäß der Bedingung in der Methode zu
#Wenn True, wird das zweite Argument angewendet, wenn False, wird das aufrufende Objekt angewendet.
pd_sample["Spalte A."] = pd_sample["Spalte A."].mask(pd_sample["Spalte B."]>3, 0)

Recommended Posts

Ein Memorandum of Method, das häufig bei der Analyse von Daten mit Pandas verwendet wird (für Anfänger)
Ein Memorandum über Methoden, die häufig beim maschinellen Lernen mit Scikit-Learn (für Anfänger) verwendet werden.
Eine Sammlung von Methoden, die beim Aggregieren von Daten mit Pandas verwendet werden
Ein Memorandum über Probleme beim Formatieren von Daten
Pandas-Grundlagen für Anfänger ② Übersicht über die Daten
Zusammenfassung der beim Extrahieren von Daten verwendeten Pandas-Methoden [Python]
[Pandas] Ich habe versucht, Verkaufsdaten mit Python zu analysieren. [Für Anfänger]
Verwalten Sie die Überlappung, wenn Sie ein Streudiagramm mit einer großen Datenmenge zeichnen (Matplotlib, Pandas, Datashader).
Zusammenfassung der häufig verwendeten Methoden bei Pandas
Memorandum zur Einführung des EXODUS-Datenmodells der Finite-Elemente-Methode (FEM)
[Pandas_flavor] Fügen Sie eine Methode von Pandas DataFrame hinzu
Verarbeiten von Memos, die häufig bei Pandas (Anfängern) verwendet werden
Beispiel für eine effiziente Datenverarbeitung mit PANDAS
Best Practices für den Umgang mit Daten mit Pandas
Einführung des Zeichnungscodes für Figuren mit einem gewissen Grad an Perfektion der Wetterdaten
Sammlung von Numpy, Pandas Tipps, die häufig auf dem Feld verwendet werden
[Einführung in Python] So erhalten Sie den Datenindex mit der for-Anweisung
Pandas-Grundlagen für Anfänger ③ Erstellen Sie ein Histogramm mit matplotlib
Machen Sie Urlaubsdaten mit Pandas zu einem Datenrahmen
[Linux-Befehl] Ein Memorandum häufig verwendeter Befehle
Beim Lesen einer CSV-Datei mit read_csv von Pandas wird die erste Spalte zum Index
Implementierung der Clustering-K-Form-Methode für Zeitreihendaten [Unüberwachtes Lernen mit Python Kapitel 13]
Eine Code-Sammlung, die häufig in persönlichem Python verwendet wird
Seien Sie vorsichtig beim Lesen von Daten mit Pandas (geben Sie dtype an)
Analyse der Messdaten ①-Memorandum of Scipy Fitting-
Ein Memorandum bei der Herstellung einer Überwachungskamera mit Raspeye
Vorsichtsmaßnahmen bei der Berechnung mit Zeichenfolge für TmeStampType von PySpark
Ich habe versucht, die häufig verwendete Seaborn-Methode mit so wenig Argumenten wie möglich anzuwenden [für Anfänger]
Kann mit AtCoder verwendet werden! Eine Sammlung von Techniken zum Zeichnen von Kurzcode in Python!
[Python] Extrahiert Datenrahmen von Pandas, die einer bestimmten Spalte nicht mit anderen Datenrahmen entsprechen
[Zur Aufnahme] Pandas Memorandum
Datenvisualisierung mit Pandas
Daten mit Pandas mischen
Empfehlung von Jupyter Notebook, einer Codierungsumgebung für Datenwissenschaftler
Mit den Daten von COVID-19 wurde ein Netzwerkdiagramm erstellt.
Codefragmente, die häufig bei der Verarbeitung von Videos mit Google Colaboratory verwendet werden
Hinweise zum Umgang mit großen Datenmengen mit Python + Pandas
Codefragmente, die häufig bei der Verwendung von BigQuery mit Google Colab verwendet werden
[Für Anfänger] Zusammenfassung der Standardeingabe in Python (mit Erklärung)
Eine Lernmethode für Anfänger zum Erlernen der Zeitreihenanalyse
Einfallsreichtum beim speichersparenden Umgang mit Daten mit Pandas
Pandas-Grundlagen für Anfänger ④ Umgang mit Datums- und Zeitangaben
Leicht verständliche [Pandas] -Praxis / Datenbestätigungsmethode für Abiturienten
(Für Anfänger) Versuchen Sie, mit Django eine einfache Web-API zu erstellen
[Für Anfänger] Eine Wortzusammenfassung der gängigen Programmiersprachen (Version 2018)
Erstellt eine Methode zum Downsample für nicht ausgeglichene Daten (für die Binomialklassifizierung).
Drehen Sie ein Array von Zeichenfolgen mit einer for-Anweisung (Python3).
Ein Überblick über DELG, eine neue Methode zum Extrahieren von Bildmerkmalen, die mit Kaggle Aufmerksamkeit erregt
[Für IT-Anfänger] Was tun, wenn der Befehl rev nicht mit Git Bash verwendet werden kann?