Bei der Arbeit mit Datenrahmen ist es häufig erforderlich, diese anhand bestimmter Kriterien zu kombinieren. In diesem Fall besteht das Ziel darin, zwei Datenrahmen, df1 und df2, nach Index zusammenzuführen.
Standardmäßig erwartet die Funktion merge() in der Pandas-Bibliothek von Python einen spaltenbasierten Abgleich. Mithilfe bestimmter Parameter ist jedoch eine Zusammenführung nach Index möglich.
Um einen Inner Join durchzuführen, bei dem nur Zeilen mit übereinstimmenden Indizes beibehalten werden, verwenden Sie den folgenden Code:
<code class="python">pd.merge(df1, df2, left_index=True, right_index=True)</code>
Dieser Vorgang erzeugt die folgende Ausgabe:
id | begin | conditional | confidence | discoveryTechnique | concept |
---|---|---|---|---|---|
278 | 56 | false | 0.00 | 1 | A |
421 | 18 | false | 0.00 | 1 | B |
Alternativ kann ein Left-Join mit der Methode join() durchgeführt werden:
<code class="python">df1.join(df2)</code>
Dies ergibt:
id | begin | conditional | confidence | discoveryTechnique | concept |
---|---|---|---|---|---|
278 | 56 | false | 0.00 | 1 | NaN |
421 | 18 | false | 0.00 | 1 | B |
2 | 56 | false | 0.00 | 1 | NaN |
5 | 37 | false | 0.20 | 1 | NaN |
Schließlich kann mit der Funktion concat() ein äußerer Join erreicht werden:
<code class="python">pd.merge(df1, df2, left_index=True, right_index=True)</code>
Der resultierende Datenrahmen enthält alle Zeilen aus beiden Eingabedatenrahmen:
id | begin | conditional | confidence | discoveryTechnique | concept |
---|---|---|---|---|---|
278 | 56 | false | 0.00 | 1 | A |
421 | 18 | false | 0.00 | 1 | B |
2 | 56 | false | 0.00 | 1 | NaN |
5 | 37 | false | 0.20 | 1 | NaN |
8 | 36 | false | 0.50 | 1 | NaN |
NaN | 37 | false | 0.30 | 2 | NaN |
Denken Sie an die Zusammenführung auf dem Index ist keine gängige Praxis und sollte sorgfältig überlegt werden, um Datenverlust oder Integritätsprobleme zu vermeiden. Sollte eine Zusammenführung nach Index unumgänglich sein, bieten die bereitgestellten Methoden flexible Möglichkeiten, um die gewünschten Ergebnisse zu erzielen.
Das obige ist der detaillierte Inhalt vonWie füge ich zwei DataFrames basierend auf dem Index in Pandas zusammen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!