Sortiert ein Array nach Textdaten in Mathematica

8

Etwas einfach, denke ich.

Ich habe eine zweidimensionale Liste (Array) mit gemischten Datums-, Text- und numerischen Daten, die aus einer CSV stammen. Ich möchte in der Lage sein, die Zeilen nach dem Wert in einer einzigen Spalte zu sortieren, was in diesem Fall ein Datum im Textformat ist. Zum Beispiel:

{{1/12/2008, Bob, 123}, {28/06/2007, Alice, 456}, {19/08/2009, Charlie, 789}}

Ich möchte die Reihen in der Liste nach dem Datum sortieren (so kommt das in der Reihenfolge Alice, Bob, Charlie heraus.)

Bisher dachte ich, ich könnte DateList auf meine Datumsspalte abbilden und der Liste das Jahr, den Monat und den Tag voranstellen, so dass es zu:

wird

{{2008, 12, 1, Bob, 123}, {2007, 6, 28, Alice, 456}}

Dann muss ich drei Sorten statt einer machen und muss das Array nach Jahren aufbrechen. Das schien nicht richtig zu sein und jetzt stecke ich fest. Ich weiß, das sollte einfach sein, aber ich kann es nicht für das Leben von mir herausfinden. Alle Hinweise geschätzt.

Danke,

Tim

    
Tim Kemp 10.12.2010, 22:18
quelle

2 Antworten

11

Vielleicht das ...

%Vor%

gibt

%Vor%

HTH

Bearbeiten

Beachten Sie, dass Sortieren [] mit OrderedQ [] vergleicht und so Listen vergleichen kann. (Größer [] zum Beispiel kann nicht).

Der folgende Code funktioniert also auch:

%Vor%

oder vielleicht eleganter:

%Vor%     
Dr. belisarius 11.12.2010, 01:04
quelle
2

Eine Alternative zur zweiten Methode von belisarius:

%Vor%     
Mr.Wizard 24.03.2011 11:24
quelle

Tags und Links