Oft sind Sie daran interessiert, alle eindeutigen Werte in mehreren Spalten eines Pandas DataFrame zu finden. Glücklicherweise ist dies mit der Funktion Pandas unique() in Kombination mit der Funktion ravel …
Oft möchten Sie möglicherweise zwei Pandas DataFrames anhand ihrer Indizes zusammenführen. Bei Pandas gibt es drei Möglichkeiten:
1. Verwenden Sie join: Standardmäßig wird ein Left Join ausgeführt.
df1.join(df2)
2. Verwenden Sie merge. Standardmäßig führt dies einen Inner Join durch.
pd.merge(df1, df2, left_index=True, right_index=True)
3. Verwenden Sie concat. Standardmäßig führt dies einen Outer Join durch.
pd.concat([df1, df2], axis=1)
Die folgenden Beispiele veranschaulichen, wie jede dieser Funktionen auf den folgenden beiden Pandas-DataFrames verwendet wird:
import pandas as pd
#Erstellen Sie das erste DataFrame
df1 = pd.DataFrame({'rating': [90, 85, 82, 88, 94, 90, 76, 75],
'points': [25, 20, 14, 16, 27, 20, 12, 15]},
index=list('abcdefgh'))
print(df1)
rating points
a 90 25
b 85 20
c 82 14
d 88 16
e 94 27
f 90 20
g 76 12
h 75 15
#Erstellen Sie das zweite DataFrame
df2 = pd.DataFrame({'assists': [5, 7, 7, 8, 5, 7],
'rebounds': [11, 8, 10, 6, 6, 9]},
index=list('acdgmn'))
print(df2)
assists rebounds
a 5 11
c 7 8
d 7 10
g 8 6
m 5 6
n 7 9
Beispiel 1: Zusammenführen des DataFrames mithilfe von Join
Der folgende Code zeigt, wie Sie mit join() die beiden DataFrames zusammenführen:
df1.join(df2)
rating points assists rebounds
a 90 25 5.0 11.0
b 85 20 NaN NaN
c 82 14 7.0 8.0
d 88 16 7.0 10.0
e 94 27 NaN NaN
f 90 20 NaN NaN
g 76 12 8.0 6.0
h 75 15 NaN NaN
Die Funktion join() führt standardmäßig einen Left Join durch, sodass jeder der Indizes im ersten DataFrame beibehalten wird.
Beispiel 2: Zusammenführen des DataFrames mithilfe von Merge
Der folgende Code zeigt, wie Sie mit merge() die beiden DataFrames zusammenführen:
pd.merge(df1, df2, left_index=True, right_index=True)
rating points assists rebounds
a 90 25 5 11
c 82 14 7 8
d 88 16 7 10
g 76 12 8 6
Die Funktion merge() führt standardmäßig einen Inner Join durch, sodass nur die Indizes beibehalten werden, die in beiden DataFrames angezeigt werden.
Beispiel 3: Zusammenführen des DataFrames mit Concat
Der folgende Code zeigt, wie Sie mit concat() die beiden DataFrames zusammenführen:
pd.concat([df1, df2], axis=1)
rating points assists rebounds
a 90.0 25.0 5.0 11.0
b 85.0 20.0 NaN NaN
c 82.0 14.0 7.0 8.0
d 88.0 16.0 7.0 10.0
e 94.0 27.0 NaN NaN
f 90.0 20.0 NaN NaN
g 76.0 12.0 8.0 6.0
h 75.0 15.0 NaN NaN
m NaN NaN 5.0 6.0
n NaN NaN 7.0 9.0
Die Funktion concat() führt standardmäßig einen Outer Join durch, sodass jeder Indexwert aus jedem DataFrame beibehalten wird.
Zusätzliche Ressourcen
So stapeln Sie mehrere Pandas DataFrames
So fügen Sie eine Spalte in einen Pandas DataFrame ein
So finden Sie eindeutige Werte in mehreren Spalten in Pandas
So filtern Sie Pandas DataFrame-Zeilen nach Datum
Oft möchten Sie die Zeilen eines Pandas DataFrame nach Datum filtern. Praktischerweise ist dies ziemlich einfach und in diesem Tutorial werden je nach Struktur Ihres DataFrame zwei Möglichkeiten erläutert.