Ich weiß, dass es eine Funktion read_csv () gibt, die von Pandas unterstützt wird, um .csv-Dateien zu lesen. Seine Dokumentation ist hier
Laut Dokumentation wussten wir
dtype: Geben Sie den Namen oder das Diktat der Spalte ein - & gt; type, default Kein Datentyp für Daten oder Spalten. Z.B. {'A': np.float64, 'b': np.int32} (Nicht unterstützt mit engine = 'python')
und
Konverter: dict, default Kein Dict von Funktionen zum Konvertieren Werte in bestimmten Spalten. Schlüssel können entweder Ganzzahlen oder Spalten sein Etiketten
Ich möchte diese Funktion nutzen, ich kann anrufen
pandas.read_csv('file',dtype=object)
oder pandas.read_csv('file',converters=object)
. Offensichtlich Konverter, sein Name kann sagen, dass Datentyp konvertiert wird, aber ich frage mich, der Fall von dtype.
Könnten Sie bitte helfen? Danke.
Der semantische Unterschied besteht darin, dass Sie mit dtype
angeben können, wie die Werte behandelt werden, z. B. als numerischer Wert oder als Zeichenfolge.
Converters können Sie Ihre Eingabedaten analysieren, um sie mithilfe einer Konvertierungsfunktion in einen gewünschten dtype zu konvertieren, z. B. einen String-Wert nach datetime oder einem anderen gewünschten dtype zu analysieren.
Hier sehen wir, dass Pandas versuchen, die Typen zu schnüffeln:
%Vor% Sie können oben sehen, dass 001
und 005
als int64
behandelt werden, aber die Datumszeichenfolge bleibt als str
.
Wenn wir sagen, dass alles object
ist, dann ist im Wesentlichen alles str
:
Hier erzwingen wir die Spalte int
auf str
und teilen parse_dates
mit, date_parser zum Parsen der Datumsspalte zu verwenden:
Ähnlich hätten wir die Funktion to_datetime
übergeben können, um die Daten zu konvertieren: