Erhaltung Spalte Reihenfolge, in der die pandas to_csv Methode
Den to_csv Methode der pandas nicht die Erhaltung der Reihenfolge der Spalten. Wählt es alphabetisch ordnen Sie die Spalten in der CSV-Datei. Dies ist ein Fehler und wurde gemeldet und soll behoben in version 0.11.0. Ich habe 0.18.0.
import pandas as pd
df = pd.DataFrame({'V_pod_error' : [a],
'V_pod_used' : [b],
'U_sol_type' : [c]
...
... and so on upto 50 columns }
pd.to_csv(df)
Excel order:
0 U_sol type V_pod_error V_pod_used ...
1
Was ich will ist, um in das Wörterbuch:
0 V_pod_error V_pod_used U_sol type ...
1
Habe ich eine riesige Anzahl von Spalten und Namen. Ich kann es manuell tun, oder Sie schreiben die Spalte Reihenfolge. Es wurde die exakt gleiche Frage im Jahr 2013 hier. Und es sieht nicht wie es ist ein update!! Ich möchte Sie Fragen die community, um mir zu helfen! Das ist wirklich problematisch.
- Ja, ich bin Aufbau der Daten-Frames in einer Schleife mit den oben genannten Befehlen. Will check out bestellt dict. Danke. Die Sache ist, dass ich immer wieder aktualisiert wurde, in eine schnelle und schmutzige Art und Weise, wie und Wann ich die benötigten Dinge. Nun, mit ihm zu arbeiten ist wirklich schwer. Um eine Spalte hinzuzufügen, um die end-I-Präfix der Spalte name mit 'z'(quick and dirty). Andere Vorschläge von einfachen Manipulationen zu meinem bestehenden code ein, um die gewünschte als Ausgang definiert?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie die folgende Lösung. Auch ich Stand vor dem gleichen Problem. Ich löste es wie folgt:
Ich denke, dass problem ist in
DataFrame
Konstruktor, da müssen Sie parameter hinzufügencolumns
für benutzerdefinierte Reihenfolge der Spalten. Wenn Sie nicht gesetzt parameter-Spalten, Spalten geordnet sind alphanumerisch.EDIT:
Eine andere Lösung ist das einstellen der Reihenfolge der Spalte Teilmenge, bevor Sie schreiben
to_csv
(Dank Mathias711):EDIT1: Vielleicht helfen, konvertieren Sie zuerst
dict
zuOrderedDict
erstellen und dannDataFrame
:df = df[[columns]]
Recht vordf.to_csv()
? Normalerweise das wird sich ändern die Reihenfolge der Spaltenprint df.columns
? Ich denke, es istExcel
um.Versuchen mit:
http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_csv.html