English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Pandas Verknüpfung Beispiel
Pandas bietet verschiedene Funktionen, um Serien, DataFrame und Panel-Objekte einfach zusammenzuführen.
pd.concat(objs,axis=0,join='outer',join_axes=None, ignore_index=False)
objs − Dies ist eine Sequenz oder Abbildung von Series, DataFrame oder Panel-Objekt. axis − {0,1,...}, Standardwert ist 0. Dies ist die zu verknüpfende Achse. join − {'inner', 'outer'}, Standardwert ist 'outer'. Wie werden die Indexe auf anderen Achsen behandelt. External ist der Verband, inner ist das Kreuz. ignore_index − Boolescher Wert, Standardwert ist False. Wenn True, verwenden Sie keine Indexwerte auf der Verknüpfungsachse. Die Ergebnishaft wird als 0, ..., n markiert,...-1。 join_axes − Dies ist eine Liste von Index-Objekten. Für andere (n-1)Spezifische Index der Achse, anstatt intern/Externe Einstellungen Logik.
Die CONCAT-Funktion übernimmt die Aufgabe, alle Verknüpfungsoperationen entlang der Achsen durchzuführen. Lassen Sie uns verschiedene Objekte erstellen und verbinden.
import pandas as pd one = pd.DataFrame({ 'Name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'], 'subject_id':['sub1','sub2','sub4','sub6','sub5'], 'Marks_scored':['98,90,87,69,78]} index=[1,2,3,4,5]) two = pd.DataFrame({ 'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'], 'subject_id':['sub2','sub4','sub3','sub6','sub5'], 'Marks_scored':['89,80,79,97,88]} index=[1,2,3,4,5]) print(pd.concat([one,two])))
Die Ergebnisse des Laufs sind wie folgt:
Marks_scored Name subject_id 1 98 Alex sub1 2 90 Amy sub2 3 87 Allen sub4 4 69 Alice sub6 5 78 Ayoung sub5 1 89 Billy sub2 2 80 Brian sub4 3 79 Bran sub3 4 97 Bryce sub6 5 88 Betty sub5
Angenommen, wir möchten bestimmte Schlüssel mit jedem Teil eines zerkleinerten DataFrames verknüpfen. Dies können wir durch die Verwendung des keys-Parameters erreichen-
import pandas as pd one = pd.DataFrame({ 'Name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'], 'subject_id':['sub1','sub2','sub4','sub6','sub5'], 'Marks_scored':['98,90,87,69,78]} index=[1,2,3,4,5]) two = pd.DataFrame({ 'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'], 'subject_id':['sub2','sub4','sub3','sub6','sub5'], 'Marks_scored':['89,80,79,97,88]} index=[1,2,3,4,5]) print(pd.concat([one,two],keys=['x','y']))
Die Ergebnisse des Laufs sind wie folgt:
x 1 98 Alex sub1 2 90 Amy sub2 3 87 Allen sub4 4 69 Alice sub6 5 78 Ayoung sub5 y 1 89 Billy sub2 2 80 Brian sub4 3 79 Bran sub3 4 97 Bryce sub6 5 88 Betty sub5
Der Index des Ergebnisses ist dupliziert; jeder Index wird dupliziert.
Wenn das Ergebnisobjekt seinen eigenen Index befolgen muss, wird ignore_index auf True gesetzt.
import pandas as pd one = pd.DataFrame({ 'Name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'], 'subject_id':['sub1','sub2','sub4','sub6','sub5'], 'Marks_scored':['98,90,87,69,78]} index=[1,2,3,4,5]) two = pd.DataFrame({ 'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'], 'subject_id':['sub2','sub4','sub3','sub6','sub5'], 'Marks_scored':['89,80,79,97,88]} index=[1,2,3,4,5]) print(pd.concat([one,two],keys=['x','y'],ignore_index=True))
Die Ergebnisse des Laufs sind wie folgt:
Marks_scored Name subject_id 0 98 Alex sub1 1 90 Amy sub2 2 87 Allen sub4 3 69 Alice sub6 4 78 Ayoung sub5 5 89 Billy sub2 6 80 Brian sub4 7 79 Bran sub3 8 97 Bryce sub6 9 88 Betty sub5
Beachten Sie, dass der Index vollständig geändert wird und die Schlüssel auch überschrieben werden.
Wenn Sie entlang von axis = 1Wenn Sie zwei Objekte hinzufügen, wird eine neue Spalte hinzugefügt.
import pandas as pd one = pd.DataFrame({ 'Name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'], 'subject_id':['sub1','sub2','sub4','sub6','sub5'], 'Marks_scored':['98,90,87,69,78]} index=[1,2,3,4,5]) two = pd.DataFrame({ 'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'], 'subject_id':['sub2','sub4','sub3','sub6','sub5'], 'Marks_scored':['89,80,79,97,88]} index=[1,2,3,4,5]) print(pd.concat([one,two],axis=1))
Die Ergebnisse des Laufs sind wie folgt:
Marks_scored Name subject_id Marks_scored Name subject_id 1 98 Alex sub1 89 Billy sub2 2 90 Amy sub2 80 Brian sub4 3 87 Allen sub4 79 Bran sub3 4 69 Alice sub6 97 Bryce sub6 5 78 Ayoung sub5 88 Betty sub5
Concat-funktionale Kurzbefehle sind die append-Beispielmethoden auf Series und DataFrame. Diese Methoden sind tatsächlich früher als concat. Sie verbinden entlang der Achse = 0, d.h. des Index-
import pandas as pd one = pd.DataFrame({ 'Name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'], 'subject_id':['sub1','sub2','sub4','sub6','sub5'], 'Marks_scored':['98,90,87,69,78]} index=[1,2,3,4,5]) two = pd.DataFrame({ 'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'], 'subject_id':['sub2','sub4','sub3','sub6','sub5'], 'Marks_scored':['89,80,79,97,88]} index=[1,2,3,4,5]) print(one.append(two))
Die Ergebnisse des Laufs sind wie folgt:
Marks_scored Name subject_id 1 98 Alex sub1 2 90 Amy sub2 3 87 Allen sub4 4 69 Alice sub6 5 78 Ayoung sub5 1 89 Billy sub2 2 80 Brian sub4 3 79 Bran sub3 4 97 Bryce sub6 5 88 Betty sub5
Diese zusätzliche Funktion kann mehrere Objekte und-
import pandas as pd one = pd.DataFrame({ 'Name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'], 'subject_id':['sub1','sub2','sub4','sub6','sub5'], 'Marks_scored':['98,90,87,69,78]} index=[1,2,3,4,5]) two = pd.DataFrame({ 'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'], 'subject_id':['sub2','sub4','sub3','sub6','sub5'], 'Marks_scored':['89,80,79,97,88]} index=[1,2,3,4,5]) print(one.append([two,one,two]))
Die Ergebnisse des Laufs sind wie folgt:
Marks_scored Name subject_id 1 98 Alex sub1 2 90 Amy sub2 3 87 Allen sub4 4 69 Alice sub6 5 78 Ayoung sub5 1 89 Billy sub2 2 80 Brian sub4 3 79 Bran sub3 4 97 Bryce sub6 5 88 Betty sub5 1 98 Alex sub1 2 90 Amy sub2 3 87 Allen sub4 4 69 Alice sub6 5 78 Ayoung sub5 1 89 Billy sub2 2 80 Brian sub4 3 79 Bran sub3 4 97 Bryce sub6 5 88 Betty sub5
Pandas bietet leistungsstarke Werkzeuge für die Verarbeitung von Zeitreihendaten, insbesondere im Finanzbereich. Bei der Verarbeitung von Zeitreihendaten stoßen wir oft auf die folgenden Situationen:
Erzeugt Zeitreihen Konvertiert Zeitreihen in verschiedene Frequenzen
Bietet eine Reihe relativ kompakter und unabhängiger Werkzeuge, um diese Aufgaben auszuführen.
datetime.now()Bieten Ihnen die aktuelle Datum und Uhrzeit.
import pandas as pd print(pd.datetime.now())
Die Ergebnisse des Laufs sind wie folgt:
2017-05-11 06:10:13.393147
Zeitstempel sind die grundlegendsten Typen von Zeitreihendaten, die die Werte mit Zeitpunkten verknüpfen. Für Pandas-Objekte bedeutet das, dass man Zeitpunkte verwendet. Lassen Sie uns ein Beispiel nennen-
import pandas as pd print(pd.Timestamp('2017-03-01'))
Die Ergebnisse des Laufs sind wie folgt:
2017-03-01 00:00:00
Man kann auch Ganzzahlen oder Fließkomma-Zeiten umwandeln. Diese haben standardmäßig die Einheit Nanosekunden (da dies die Speicherweise der Zeitstempel ist). Aber in der Regel wird die Ära in einer anderen angegebenen Einheit gespeichert. Ein weiteres Beispiel
import pandas as pd print(pd.Timestamp(1587687255,unit='s'))
Die Ergebnisse des Laufs sind wie folgt:
2020-04-24 00:14:15
import pandas as pd print(pd.date_range("11:00", "13:30", freq="30min").time)
Die Ergebnisse des Laufs sind wie folgt:
[datetime.time(11, 0) datetime.time(11, 3) datetime.time(12, 0) datetime.time(12, 3) datetime.time(13, 0) datetime.time(13, 3, 0)
import pandas as pd print(pd.date_range("11:00", "13:30", freq="H").time)
Die Ergebnisse des Laufs sind wie folgt:
[datetime.time(11, 0) datetime.time(12, 0) datetime.time(13, 0)
Um Serien oder ähnliche Listenobjekte (z.B. Strings, Tupel oder Mischungen) in ähnliche Datumsobjekte zu konvertieren, kann die Funktion to_datetime verwendet werden. Wenn übergeben, wird eine Series (mit dem gleichen Index) zurückgegeben, und Listenähnliche Listen werden in DatetimeIndex umgewandelt. Sehen Sie sich das folgende Beispiel an-
import pandas as pd print(pd.to_datetime(pd.Series(['Jul 31, 2009','2010-01-10', None]))
Die Ergebnisse des Laufs sind wie folgt:
0 2009-07-31 1 2010-01-10 2 NaT dtype: datetime64[ns]
NaT bedeutet nicht Zeit (entspricht NaN)
Lassen Sie uns ein weiteres Beispiel nennen.
import pandas as pd print(pd.to_datetime(['2005/11/23', '2010.12.31', None])
Die Ergebnisse des Laufs sind wie folgt:
DatetimeIndex(['2005-11-23', '2010-12-31', 'NaT]', dtype='datetime64[ns], freq=None)