Python Pandas - Concat dataframes mit unterschiedlichen Spalten ignorieren Spaltennamen
Habe ich zwei pandas.DataFrames
ich möchte Sie zu einem zu vereinen. Die dataframes haben die gleiche Anzahl von Spalten in der gleichen Reihenfolge, aber haben Spaltenüberschriften in verschiedenen Sprachen. Wie kann ich effizient kombinieren Sie diese dataframes?
df_ger
index Datum Zahl1 Zahl2
0 1-1-17 1 2
1 2-1-17 3 4
df_uk
index Date No1 No2
0 1-1-17 5 6
1 2-1-17 7 8
desired output
index Datum Zahl1 Zahl2
0 1-1-17 1 2
1 2-1-17 3 4
2 1-1-17 5 6
3 2-1-17 7 8
Der einzige Ansatz, den ich kam mit so weit ist, benennen Sie die Spaltenüberschriften und verwenden Sie dann pd.concat([df_ger, df_uk], axis=0, ignore_index=True)
. Allerdings hoffe ich finde einen allgemeineren Ansatz.
Was ist Ihr Anliegen mit der Umbenennung?
Der dataframe, mit der ich arbeite ist ziemlich groß. (>30 Spalten). Ich bekomme es aus einer externen Quelle, die Etiketten ändern könnte.
Vielleicht gibt es einen Allgemeinen Weg, das funktioniert mit der Spalte index, ignorieren Sie die set Spalte-Namen, aber ich konnte nichts finden, noch nicht.
Der dataframe, mit der ich arbeite ist ziemlich groß. (>30 Spalten). Ich bekomme es aus einer externen Quelle, die Etiketten ändern könnte.
Vielleicht gibt es einen Allgemeinen Weg, das funktioniert mit der Spalte index, ignorieren Sie die set Spalte-Namen, aber ich konnte nichts finden, noch nicht.
InformationsquelleAutor Axel | 2017-08-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn die Spalten immer in der gleichen Reihenfolge, können Sie mechanisch
umbenennen
die Spalten und die eineappend
wie:Code:
Test-Code:
Ergebnisse:
InformationsquelleAutor Stephen Rauch
Vorausgesetzt, Sie können sicher sein, dass die Strukturen der beiden dataframes gleich bleiben, sehe ich zwei Optionen:
Halten Sie das dataframe Spalte die Namen der gewählten Standardsprache (ich nehme an, de_de) und einfach kopieren Sie Sie auf:
Diese funktioniert, was sind die Spaltennamen. Technisch jedoch bleibt es umbenennen.
Ziehen Sie die Daten aus dem dataframe mit numpy.ndarrays, verketten Sie in numpy, und machen Sie einen dataframe wieder heraus:
Diese Lösung erfordert mehr Ressourcen, so würde ich entscheiden sich für die erste.
InformationsquelleAutor C. Nitschke
Ich bin nicht sicher, ob dies einfacher wird als das, was Sie im Sinn hatte, aber wenn das Ziel ist, für etwas Allgemeines, dann sollte diese in Ordnung sein mit einer Vermutung: Die Spalten in den beiden Dateien übereinstimmen, zum Beispiel, wenn das Datum der ersten Spalte, die übersetzte version wird auch die erste Spalte.
InformationsquelleAutor osbon123