ich habe Datensätze im .mat Format bekommen. Nun versuche ich die zu Plotten.
Code: Alles auswählen
import numpy as np
# Import the scipy.io
import scipy.io
# load .mat file into dictionary x
x = scipy.io.loadmat('/home/samothkociok/Desktop/Algerien.mat')
print(type(x))
print(x.keys())
dict_keys(['__version__', '__function_workspace__', '__globals__', '__header__', 'Datensatz'])
Nun ist das ein sehr verschachtelter File:
{'Datensatz': array([[ MatlabOpaque([(b'', b'MCOS', b'string', [[3707764736], [2], [1], [1], [1], [1]])],
dtype=[('s0', 'O'), ('s1', 'O'), ('s2', 'O'), ('arr', 'O')]),
MatlabOpaque([(b'', b'MCOS', b'datetime', [[3707764736], [2], [1], [1], [34], [2]])],
dtype=[('s0', 'O'), ('s1', 'O'), ('s2', 'O'), ('arr', 'O')]),
array([[ 0.00000000e+00, 0.00000000e+00, 8.00000000e+03, ...,
nan, nan, nan],
[ 0.00000000e+00, 0.00000000e+00, 8.00000000e+03, ...,
5.00000000e-01, 2.43839992e+03, nan],
[ 0.00000000e+00, 0.00000000e+00, 8.00000000e+03, ...,
5.00000000e-01, 1.00583997e+03, nan],
...,
[ 6.00000000e+01, 1.02888800e+00, 9.99900000e+03, ...,
7.50000000e-01, 3.04799990e+03, nan],
[ 6.00000000e+01, 1.02888800e+00, 9.99900000e+03, ...,
7.50000000e-01, 3.04799990e+03, nan],
[ 8.00000000e+01, 1.02888800e+00, 9.99900000e+03, ...,
7.50000000e-01, 3.04799990e+03, nan]])],
[ MatlabOpaque([(b'', b'MCOS', b'string', [[3707764736], [2], [1], [1], [2], [1]])],
dtype=[('s0', 'O'), ('s1', 'O'), ('s2', 'O'), ('arr', 'O')]),
MatlabOpaque([(b'', b'MCOS', b'datetime', [[3707764736], [2], [1], [1], [35], [2]])],
dtype=[('s0', 'O'), ('s1', 'O'), ('s2', 'O'), ('arr', 'O')]),
array([[ 2.50000000e+02, 5.65888400e+00, 9.99900000e+03, ...,
5.00000000e-01, 2.74319991e+03, nan],
[ 2.50000000e+02, 4.62999600e+00, 9.99900000e+03, ...,
5.00000000e-01, 2.74319991e+03, nan],
[ 2.60000000e+02, 5.14444000e+00, 9.99900000e+03, ...,
2.50000000e-01, 7.01039978e+02, nan],
....
....
....
'__function_workspace__': array([[ 0, 1, 73, ..., 0, 0, 0]], dtype=uint8),
'__globals__': [],
'__header__': b'MATLAB 5.0 MAT-file, Platform: PCWIN64, Created on: Wed Feb 7 10:47:40 2018',
'__version__': '1.0'}
Wenn ich das richtig sehe ist das eine 33x3 Cell in der in der Ersten Spalte Buchstaben stehen und in den Spalten 2 und 3 jeweils eine weitere Cell mit verschiedenen einträgen...
Nun möchte ich z.B. von der ersten Zeile
1 2 3
"DAAD" 4053x1 datetime 4053x9 double
Die datetime über eine Zeile der 3. SPalte (4053x9 double) plotten in der verschiedene Größen abgespeichert sind plotten (x.plot(Zeit, Messwert))
Wie kann ich das realisieren?
Gruß