Wir haben die Methoden zusammengefasst, die häufig bei der Analyse von Daten mit Pandas verwendet werden. Wir werden nach Bedarf Korrekturen vornehmen.
#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])
#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 |
#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 |
#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 |
#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"}))
#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
#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()
#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