[PYTHON] Ändern Sie nicht die Reihenfolge der Spalten, wenn Sie Pandas-Datenrahmen verketten.

Problem

Beim Verketten von Pandas-Datenrahmen mit "pd.concat" kann sich die Reihenfolge der Spalten beliebig ändern.

>>> df = pd.DataFrame([[1, 2], [3, 4]], index=[0, 1], columns=['B', 'A'])
>>> df2 = pd.DataFrame([[1, 2], [3, 4]], index=[0, 1], columns=['A', 'B'])
>>> pd.concat([df, df2])
   A  B #B A ist gut nach df!
0  2  1
1  4  3
0  1  2
1  3  4

Lösungen

Verwenden Sie die Methode "DataFrame.append", um die Spaltenreihenfolge unverändert zu lassen.

>>> df.append(df2)[df.columns.tolist()]
   B  A
0  1  2
1  3  4
0  2  1
1  4  3

Jetzt können Sie die Datenrahmen kombinieren, während Sie die Reihenfolge der df -Spalten beibehalten. Wenn Sie mehrere Datenrahmen kombinieren möchten, können Sie eine Liste von Datenrahmen übergeben, z. B. "df.append ([df1, df2])".

DataFrame.append ist jedoch langsam und sollte nicht verwendet werden, wenn viele Zeilen verbunden werden.

Referenz

Nachtrag

Ich habe vergessen, die Ausführungsumgebung zu schreiben, also habe ich sie hinzugefügt

Recommended Posts

Ändern Sie nicht die Reihenfolge der Spalten, wenn Sie Pandas-Datenrahmen verketten.
[Python] Extrahiert Datenrahmen von Pandas, die einer bestimmten Spalte nicht mit anderen Datenrahmen entsprechen
Ändern Sie die Reihenfolge von PostgreSQL in Heroku
Beispiel, was zu tun ist, wenn das Beispielskript nicht funktioniert (OpenCV-Python)
Ändern Sie den Datenrahmen der Pandas-Kaufdaten (ID x Produkt) in ein Wörterbuch
Selbst wenn Sie in pandas.DataFrame nur eine bestimmte Spalte zuweisen und einen Index anhängen, müssen Sie sich nicht um die Reihenfolge der Daten kümmern
Wenn bei der Installation der Version von pyenv "zipimport.ZipImportError: Daten können nicht dekomprimiert werden; zlib nicht verfügbar" angezeigt wird
Zusammenfassung der beim Extrahieren von Daten verwendeten Pandas-Methoden [Python]
Den Inhalt der Daten in Python nicht kennen
Was Sie bei der Zeitreihendatenanalyse (einschließlich Reflexion) nicht tun sollten
Der Websocket von toio (nodejs) und python / websocket stellen keine Verbindung her.
Eine Sammlung von Methoden, die beim Aggregieren von Daten mit Pandas verwendet werden
Die minimale Methode, die beim Aggregieren von Daten mit Pandas zu beachten ist
Verwalten Sie die Überlappung, wenn Sie ein Streudiagramm mit einer großen Datenmenge zeichnen (Matplotlib, Pandas, Datashader).
Ändern Sie das Thema von Jupyter
Ändern Sie den Stil von matplotlib
Die Kraft der Pandas: Python
Beim Inkrementieren des Werts eines Schlüssels, der nicht vorhanden ist
Erklären Sie den Mechanismus von Linux, den Sie nicht unerwartet kennen
Was tun, wenn die Einstellungen der jupyterlab-Erweiterung nicht angezeigt werden?
Was passiert, wenn ich die Hyperparameter von SVM (RBF-Kernel) ändere?