Ich bin in diesem kleinen Problem nach einer Stunde der Suche vorherige Antwort stecken. Ich möchte Matrizen von meinem Code speichern in .yaml DateiErgebnisse in YAML-Datei mit Python speichern
Was ich von meinem Code erhalten
Matrix
[[ 1.00665266e+03 0.00000000e+00 5.08285432e+02]
[ 0.00000000e+00 1.01086937e+03 3.45995536e+02]
[ 0.00000000e+00 0.00000000e+00 1.00000000e+00]]
Wie ich versucht, diese Matrix zu speichern (mtx
ist der kürzere Name in meinem Code)
fname = "calibrationC300.yaml"
data = dict(
Matrix = mtx,
)
with open(fname, "w") as f:
yaml.dump(data, f, default_flow_style=False)
Aber was ich in meiner YAML-Datei lesen ist völlig falsch (nur nur schlecht Umwandlung?)
Matrix: !!python/object/apply:numpy.core.multiarray._reconstruct
args:
- &id001 !!python/name:numpy.ndarray ''
- !!python/tuple [0]
- b
state: !!python/tuple
- 1
- !!python/tuple [3, 3]
- !!python/object/apply:numpy.dtype
args: [f8, 0, 1]
state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
- false
- !!binary |
cWM87e1YkEAAAAAAAAAAAIUEEyb5SH1AAAAAAAAAAACp/Z3yc2qQQFv0vPqb5nZAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAPA/
Es ist das erste Mal, dass ich Yaml-Dateien verwende, was mache ich falsch? Gibt es eine Methode, um die Matrix in der einfachen Form (wie ich es aus dem Code erhalte) in der Yaml-Datei zu erhalten? Vielen Dank im Voraus
Was ist Ihr Ziel - etwas zu bekommen, das für die Eingabe in ein numpliges Skript geeignet ist, etwas Portables, das für die Eingabe in ein anderes Werkzeug oder etwas für Menschen lesbar ist? –
@JohnCarter bevorzugen alle diese drei Dinge. Für die Eingabe für mein numpy Skript habe ich gerade gelöst mit numpy.savez – marcoresk