Python Pandas liest nicht die erste Zeile der CSV-Datei

8

Ich habe ein Problem mit dem Lesen von CSV (oder txt-Datei) auf Pandas-Modul Da die loadtxt-Funktion von numpy zu viel Zeit in Anspruch nimmt, entschied ich mich stattdessen für pandas read_csv.

Ich möchte ein numpliges Array aus der txt-Datei mit vier Spalten erstellen, die durch Leerzeichen getrennt sind, und eine sehr große Anzahl von Zeilen (wie 256 ^ 3 haben. In diesem Beispiel ist es 64 ^ 3).

Das Problem ist, dass ich nicht weiß warum, aber es scheint, dass pandas read_csv immer die erste Zeile (erste Zeile) der csv (txt) -Datei überspringt, was zu einem weniger Daten führt.

Hier ist der Code.

%Vor%

f [0] und g [0], die als Ausgabe angezeigt werden, haben zu viel, aber nicht, was darauf hinweist, dass Pandas die erste Zeile von Testarray.txt überspringt. Außerdem ist die Länge der geladenen Datei g kleiner als die Länge des Arrays f .

Ich brauche Hilfe.

Vielen Dank im Voraus.

    
Tom 07.02.2015, 13:34
quelle

2 Antworten

18

Standardmäßig verwendet pd.read_csv header=0 (wenn der Parameter names ebenfalls nicht angegeben ist), was bedeutet, dass die erste (d. h. 0-indizierte) Zeile als Spaltennamen interpretiert wird.

Wenn Ihre Daten keinen Header haben, verwenden Sie

%Vor%

Zum Beispiel

%Vor%

Ohne header setzt die erste Zeile, 1 2 3 , die Spaltennamen:

%Vor%

Mit header=None wird die erste Zeile als Daten behandelt:

%Vor%

druckt

%Vor%     
unutbu 07.02.2015, 13:41
quelle
1

Wenn Ihre Datei keine Kopfzeile hat, müssen Sie Pandas das mitteilen, indem Sie in Ihrem Aufruf von pd.read_csv () header = None verwenden.

    
RustProof Labs 07.02.2015 13:42
quelle

Tags und Links