Frage

Für das, was mein spezieller Fall wert ist, ist eine symmetrische Matrix, aber diese Frage sollte allgemeiner beantwortet werden.

War es hilfreich?

Lösung

Das am besten kompatiblen Format ist sicherlich CSV/TSV. Es ist Text und Sie können es normalerweise mit dem von Ihnen verwendeten Softwarepaket im Fluge im Fluge geben. Es gibt kein weit verbreitetes Format zum Speichern von Matrix -Array -Daten. MATLAB hat seine *.mat-Dateien, Numpy hat *.npz, Stata und SAS haben ihre eigenen, ... verwenden Sie am besten einfach eine Clear-Text-Datei.

Wenn die Matrix symmetrisch ist, wenn sie sehr groß ist oder wenn viele davon vorhanden sind, können Sie 50% in der Weltraumanforderung sparen, indem Sie nur den unteren (oder oberen) dreieckigen Teil davon speichern. Wenn Sie sich dafür entschieden haben, gibt es wieder kein weit verbreitetes Format. Speichern Sie einfach zuerst die Form und dann die abgeflachten 1D -Daten.

Andere Tipps

Ich würde mit gehen mit .csv Wie es allgemein akzeptiert wird und in verschiedenen Programmiersprachen leicht gelesen werden kann. Darüber hinaus können Sie es einfach mit einer Office -Software öffnen. Wenn Sie Ihre Matrix nur in Python verwenden, empfehle ich auch Gurkenbibliothek Das schreibt Ihre Matrix in a .p Format und kann leicht in Python mit einer einfachen Lastfunktion gelesen werden.

Wie Wagenrückgabe-/Linien -Feed (CR/LF) Kann je nach System Probleme verursachen, ich schlage vor, die Matrix "Inline" oder in zu speichern Raster-Stil Mit einem kurzen Kopfball, um Ihre Konvention anzugeben, eine Versionsnummer (Sie könnten Ihre Meinung später ändern und die Version erhöhen) usw. wenigstens Die Matrixgröße und der Rest in einem Textformat (CSV, TSV). Dies ähnelt dem, was in der getan wird Tragbare graue Karte oder Bitmap -Bildformat.

Ich habe das verwendet, um Text zu speichern Filterbankkoeffizienten.

Ein minimales Beispiel könnte sein:2,3,0.1,1.2,2.3,3.4,4.5,5.6 Für die $ 2 Times 3 $ matrix: begin {array} 0.1 & 1.2 & 2.3 3.4 & 4.5 & 5.6 end {Array}, aber Sie können zum Beispiel verwenden #2,#3,0.1,1.2,2.3,3.4,4.5,5.6so dass Außerirdische (denken Sie an die Golden Pioneer Plaque) Verstehen Sie, dass die ersten beiden Ganzzahlen "unterschiedlich" sind und Hinweise darauf geben, wie die folgenden Zahlen gelesen werden sollen. Mit einer quadratischen Matrix (typisch für symmetrische Matrizen) ist dies noch interessanter, da Sie nur eine Headernummer benötigen #n (die Seite) und die akuten Leser werden feststellen, dass die verbleibenden Zahlen in $ N^2 $ Menge sind.

Sie können sich auch andere ansehen Matrix -Speicherschemata, und wenn Ihre Matrix spärlich ist, Komprimierter Reihenspeicher (CRS).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit datascience.stackexchange
scroll top