Pandas csv-import: Führe führende Nullen in einer Spalte
Bin ich importieren Studie Daten in einem Pandabären-Daten-frame mit read_csv
.
Mein Thema-codes sind 6-zahlen-Codierung, unter anderem der Tag der Geburt. Für einige meiner Untertanen dies führt zu einem code mit einer führenden null (z.B. "010816").
Wenn ich den import in Pandas, die führende null entfernt wird und die Spalte ist formatiert als int64
.
Gibt es eine Möglichkeit, den import dieser Spalte unverändert, vielleicht ein string?
Versuchte ich mit einem benutzerdefinierten Konverter für die Spalte, aber es funktioniert nicht - es scheint, als ob die benutzerdefinierte Konvertierung findet statt, bevor Pandas konvertiert zu int.
InformationsquelleAutor der Frage user1802883 | 2012-11-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie in diese Frage/Antwort von Lev Landaukönnte es eine einfache Lösung zu verwenden
converters
option für eine bestimmte Spalte inread_csv
Funktion.Finden Sie unter mehr Optionen
read_csv
funtion in pandas.io.Parser.read_csv Dokumentation.Können sagen, ich habe csv-Datei
projects.csv
wie unten:Wie zum Beispiel code unten ist triming führende Nullen:
Ergebnis:
Lösung code-Beispiel:
Gewünschte Ergebnis:
InformationsquelleAutor der Antwort baltasvejas
hier ist eine kürzere, robuste und voll funktionsfähige Lösung:
definiere einfach eine Zuordnung (Wörterbuch) zwischen Variablen-Namen und die gewünschten Daten Typ:
verwenden, die Zuordnung mit
pd.read_csv()
:et voila!
InformationsquelleAutor der Antwort ℕʘʘḆḽḘ
Ich glaube nicht, können Sie eine Spalte angeben, geben Sie die Art und Weise, die Sie möchten (wenn es nicht verpasst reciently und wenn der 6-stelligen Nummer ist nicht ein Datum, können Sie in datetime konvertiert). Sie könnten versuchen, mit
np.genfromtxt()
und erstellen dieDataFrame
von dort.EDIT: werfen Sie einen Blick auf Wes Mckinney ' s bloges könnte etwas für Sie sein. Es scheint, dass es ist ein neuer parser vom
pandas 0.10
kommt im November.InformationsquelleAutor der Antwort root