Frage:
Wie kann ich zwei Datenrahmen horizontal (spaltenweise) in Python kombinieren? Pandas-Bibliothek, ähnlich der cbind-Funktion in R?
Lösung:
Um Datenrahmen horizontal zu verketten, ohne Schlüssel zu berücksichtigen, verwenden Sie die Funktion pd.concat() mit dem Parameter axis=1 . Dieser Parameter gibt die Verkettung entlang der Spalten an:
<code class="python">result = pd.concat([df_a, df_b], axis=1)</code>
Beispiel:
Betrachten Sie das folgende Beispiel:
<code class="python">import pandas as pd dict_data = {'Treatment': ['C', 'C', 'C'], 'Biorep': ['A', 'A', 'A'], 'Techrep': [1, 1, 1], 'AAseq': ['ELVISLIVES', 'ELVISLIVES', 'ELVISLIVES'], 'mz':[500.0, 500.5, 501.0]} df_a = pd.DataFrame(dict_data) dict_data = {'Treatment1': ['C', 'C', 'C'], 'Biorep1': ['A', 'A', 'A'], 'Techrep1': [1, 1, 1], 'AAseq1': ['ELVISLIVES', 'ELVISLIVES', 'ELVISLIVES'], 'inte1':[1100.0, 1050.0, 1010.0]} df_b = pd.DataFrame(dict_data) result = pd.concat([df_a, df_b], axis=1) print(result)</code>
Ausgabe:
AAseq Biorep Techrep Treatment mz AAseq1 Biorep1 Techrep1 \ 0 ELVISLIVES A 1 C 500.0 ELVISLIVES A 1 1 ELVISLIVES A 1 C 500.5 ELVISLIVES A 1 2 ELVISLIVES A 1 C 501.0 ELVISLIVES A 1 Treatment1 inte1 0 C 1100 1 C 1050 2 C 1010
Wie Sie sehen können, hat der resultierende Datenrahmen die gleiche Anzahl von Zeilen und Spalten wie die Summe der beiden ursprünglichen Datenrahmen.
Alternative Methoden:
Zusätzlich zu pd.concat() können Sie auch merge() oder join() für die blinde Spaltenverkettung verwenden. Diese Methoden erfordern jedoch übereinstimmende Indizes oder Schlüssel zwischen den Datenrahmen:
<code class="python"># Using merge() result = df_a.merge(df_b, left_index=True, right_index=True) # Using join() result = df_a.join(df_b)</code>
Das obige ist der detaillierte Inhalt vonWie kann ich zwei Pandas DataFrames in Python horizontal (spaltenweise) kombinieren, ähnlich der Funktion „cbind' in R?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!