Split Array bei Wert in numpy

7

Ich habe eine Datei mit Daten im Format:

%Vor%

Die Daten bestehen aus mehreren Datensätzen, von denen jeder in der ersten Spalte mit 0 beginnt (also wäre x1, x2, x3 ein Satz und x4, x5, x6, x7 ein anderer). Ich muss jeden Datensatz getrennt darstellen, so dass ich die Daten irgendwie teilen muss. Was wäre der einfachste Weg, dies zu erreichen?

Mir ist klar, dass ich die Daten Zeile für Zeile durchgehen und die Daten jedes Mal aufteilen könnte, wenn ich in der ersten Spalte auf eine 0 stoße, aber das scheint sehr ineffizient zu sein.

    
pafcu 11.03.2011, 14:37
quelle

4 Antworten

19

Ich mochte eigentlich Benjamins Antwort, eine etwas kürzere Lösung wäre:

%Vor%     
eat 11.03.2011, 15:28
quelle
12

Sobald Sie die Daten in einem langen Zahlenfeld haben, tun Sie einfach:

%Vor%

Das gibt Ihnen B mit drei Arrays B[0] , B[1] und B[2] (in diesem Fall; ich fügte einen dritten "Abschnitt" hinzu, um mir selbst zu beweisen, dass es richtig funktionierte).

    
Benjamin 11.03.2011 15:10
quelle
1

Sie benötigen keine Python-Schleife, um die Speicherorte jeder Aufteilung zu bewerten. Machen Sie einen Unterschied in der ersten Spalte und finden Sie heraus, wo die Werte sinken.

%Vor%     
Paul 11.03.2011 15:14
quelle
0
%Vor%

führt zu

%Vor%     
Hugh Bothwell 11.03.2011 15:09
quelle

Tags und Links