[PYTHON] Seien Sie vorsichtig beim Lesen von Daten mit Pandas (geben Sie dtype an)

Beim Lesen von Daten mit Pandas ist es sicherer, dtype anzugeben

In diesem Artikel Pandas 0.18.Ich benutze 1.

Wenn Sie für dtype nichts angeben, wird der Typ ohne Erlaubnis bestimmt. Zum Beispiel, wenn die folgenden tabulatorgetrennten Daten vorhanden sind

data_1.txt

id	x01	x02	x03	x04	x05	x06	x07	x08	x09	x10
0001	0.54	0.54	0.85	0.79	0.54	0.36	0.28	0.52	0.21	0.49
0002	0.72	0.68	0.77	0.69	0.07	na	0.29	0.42	0.32	0.51
0003	0.68	0.99	0.19	0.16	0.31	0.76	0.57	0.08	0.07	0.98
0004	0.98	na	0.49	0.47	0.09	0.52	0.42	0.35	0.83	0.64
0005	0.37	0.35	0.99	0.88	0.81	0.46	0.57	0.47	0.06	0.55
# coding: UTF-8

import pandas as pd
df = pd.read_csv('‪data_1.txt', header = 0, sep = '\t', na_values = 'na')
print df
	id	x01	x02	x03	x04	x05	x06	x07	x08	x09	x10
0	1	0.54	0.54	0.85	0.79	0.54	0.36	0.28	0.52	0.21	0.49
1	2	0.72	0.68	0.77	0.69	0.07	NaN	0.29	0.42	0.32	0.51
2	3	0.68	0.99	0.19	0.16	0.31	0.76	0.57	0.08	0.07	0.98
3	4	0.98	NaN	0.49	0.47	0.09	0.52	0.42	0.35	0.83	0.64
4	5	0.37	0.35	0.99	0.88	0.81	0.46	0.57	0.47	0.06	0.55

Wenn Sie den Typ nicht angeben, ist er wie oben und die ID ist Null. Wenn ich den ID-Datentyp in df.dtypes überprüfe, ist es int.

In einem solchen Fall

df = pd.read_csv('data_1.txt', header = 0, sep = '\t', na_values = 'na',
                 dtype = {'id':'object', 'x01':'float', 'x02':'float','x03':'float','x04':'float','x05':'float','x06':'float',
                          'x07':'float','x08':'float','x09':'float','x10':'float'})

print df
     id   x01   x02   x03   x04   x05   x06   x07   x08   x09   x10
0  0001  0.54  0.54  0.85  0.79  0.54  0.36  0.28  0.52  0.21  0.49
1  0002  0.72  0.68  0.77  0.69  0.07   NaN  0.29  0.42  0.32  0.51
2  0003  0.68  0.99  0.19  0.16  0.31  0.76  0.57  0.08  0.07  0.98
3  0004  0.98   NaN  0.49  0.47  0.09  0.52  0.42  0.35  0.83  0.64
4  0005  0.37  0.35  0.99  0.88  0.81  0.46  0.57  0.47  0.06  0.55

Auf diese Weise können Sie die ursprüngliche Form beibehalten, indem Sie dtype angeben. Es ist col Klassen in R. Ich habe das Gefühl, dass die Daten schneller gelesen werden, wenn dtype angegeben wird.

Sie können vorerst auch alles als Objekt lesen und später nur die notwendigen Teile ändern.

#Lesen Sie zuerst alles mit Objekt
df = pd.read_csv('data_1.txt', header = 0, sep = '\t', na_values = 'na', dtype = 'object')

var_lst = ['x01','x02','x03','x04','x05','x06','x07','x08','x09','x10']
df[var_lst] = df[var_lst].astype(float)    #Ändern Sie den Datentyp in float

Recommended Posts

Seien Sie vorsichtig beim Lesen von Daten mit Pandas (geben Sie dtype an)
Seien Sie vorsichtig, wenn Sie CakePHP3 mit PHP7.2 ausführen
Seien Sie vorsichtig, wenn Sie mit gzip-komprimierten Textdateien arbeiten
Daten mit TensorFlow lesen
Datenvisualisierung mit Pandas
Datenmanipulation mit Pandas!
Daten mit Pandas mischen
[Python] Ändere den Typ mit Pandas
Datenverarbeitungstipps mit Pandas
Eine Sammlung von Methoden, die beim Aggregieren von Daten mit Pandas verwendet werden
Seien Sie vorsichtig mit einfachen Methodenreferenzen
Achten Sie beim Drucken von Japanisch mit Python 3 auf LANG für UnicodeEncodeError
Vielseitige Datenerfassung mit Pandas + Matplotlib
(Hinweis) Seien Sie vorsichtig mit Python Argparse
[Aktienkursanalyse] Pandas lernen mit fiktiven Daten (001: Vorbereitung der Umgebung auf das Lesen von Dateien)
[Python] Seien Sie vorsichtig, wenn Sie Druck verwenden
Seien Sie vorsichtig mit Pythons Append-Methode
[Python] Format, wenn to_csv mit Pandas
EXCEL-Datenleiste und Farbskala können auch mit Pandas erstellt werden
Einstellungen zum Lesen von S3-Dateien mit Pandas aus Jupyter Notebook unter AWS
Seien Sie vorsichtig, wenn Sie in regelmäßigen Abständen Tweets mit der Twitter-API abrufen
Achten Sie beim Erstellen einer Bildmaske mit Numpy auf den Typ
Geben Sie Optionen an, wenn Sie flake8 mit flycheck ausführen
⚠️ Achten Sie auf die Standardargumentwerte von Python ⚠️
Versuchen Sie, mit Pandas in ordentliche Daten umzuwandeln
Seien Sie vorsichtig, wenn Sie einem Array ein Array hinzufügen
[Easy Python] Lesen von Excel-Dateien mit Pandas
Behandeln Sie 3D-Datenstrukturen mit Pandas
Beispiel für eine effiziente Datenverarbeitung mit PANDAS
Best Practices für den Umgang mit Daten mit Pandas
Ein Memorandum of Method, das häufig bei der Analyse von Daten mit Pandas verwendet wird (für Anfänger)
Bei to_csv mit Pandas wurde es Zeile für Zeile
Versuchen Sie, Doujin-Musikdaten mit Pandas zu aggregieren
Lesen Sie Python-CSV-Daten mit Pandas ⇒ Graph mit Matplotlib
Implementieren Sie "Data Visualization Design # 3" mit Pandas und Matplotlib
Visualisieren Sie Daten interaktiv mit TreasureData, Pandas und Jupyter.
100 Sprachverarbeitung Knock-20 (unter Verwendung von Pandas): Lesen von JSON-Daten
Untersuchung beim Import kann nicht mit Python durchgeführt werden
Machen Sie Urlaubsdaten mit Pandas zu einem Datenrahmen
Flow Memo beim Abrufen von JSON-Daten mit urllib
Beim Lesen einer CSV-Datei mit read_csv von Pandas wird die erste Spalte zum Index