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 in mehreren Spalten zusammenführen. Glücklicherweise ist dies mit der Funktion pandas merge(), die die folgende Syntax verwendet, einfach zu bewerkstelligen:
pd.merge(df1, df2, left_on=['col1','col2'], right_on = ['col1','col2'])
In diesem Tutorial wird erklärt, wie diese Funktion in der Praxis verwendet wird.
Beispiel 1: Zusammenführen mehrerer Spalten mit unterschiedlichen Namen
Angenommen, wir haben die folgenden zwei Pandas DataFrames:
import pandas as pd
# Erstellen Sie das erste DataFrame und zeigen Sie ihn an
df1 = pd.DataFrame({'a1': [0, 0, 1, 1, 2],
'b': [0, 0, 1, 1, 1],
'c': [11, 8, 10, 6, 6]})
print(df1)
a1 b c
0 0 0 11
1 0 0 8
2 1 1 10
3 1 1 6
4 2 1 6
# Erstellen und Anzeigen des zweiten DataFrames
df2 = pd.DataFrame({'a2': [0, 1, 1, 1, 3],
'b': [0, 0, 0, 1, 1],
'd': [22, 24, 25, 33, 37]})
print(df2)
a2 b d
0 0 0 22
1 1 0 24
2 1 0 25
3 1 1 33
4 3 1 37
Der folgende Code zeigt, wie eine Linksverknüpfung mit mehreren Spalten aus beiden DataFrames ausgeführt wird:
pd.merge(df1, df2, how='left', left_on=['a1', 'b'], right_on = ['a2','b'])
a1 b c a2 d
0 0 0 11 0.0 22.0
1 0 0 8 0.0 22.0
2 1 1 10 1.0 33.0
3 1 1 6 1.0 33.0
4 2 1 6 NaN NaN
Beispiel 2: Zusammenführen mehrerer Spalten mit gleichen Namen
Angenommen, wir haben die folgenden zwei Pandas DataFrames mit denselben Spaltennamen:
import pandas as pd
# DataFrames erstellen
df1 = pd.DataFrame({'a': [0, 0, 1, 1, 2],
'b': [0, 0, 1, 1, 1],
'c': [11, 8, 10, 6, 6]})
df2 = pd.DataFrame({'a': [0, 1, 1, 1, 3],
'b': [0, 0, 0, 1, 1],
'd': [22, 24, 25, 33, 37]})
In diesem Fall können wir die Verwendung durch on = [‘a’, ‘b’] vereinfachen, da die Spaltennamen in beiden DataFrames gleich sind:
pd.merge(df1, df2, how='left', on=['a', 'b'])
a b c d
0 0 0 11 22.0
1 0 0 8 22.0
2 1 1 10 33.0
3 1 1 6 33.0
4 2 1 6 NaN
Zusätzliche Ressourcen
So führen Sie zwei Pandas DataFrames im Index zusammen
So stapeln Sie mehrere Pandas DataFrames
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.