您的当前位置:首页正文

python读取.mat文件的数据

来源:帮我找美食网
python读取.mat⽂件的数据

⾸先导⼊scipy的包 from scipy.io import loadmat

然后读取 m = loadmat(\"F:/__identity/activity/论⽂/data/D001.mat\") 注意这⾥m是⼀个dict数据结构

>>> m

{'__header__': b'MATLAB 5.0 MAT-file, Platform: PCWIN, Created on: Mon Aug 15 22:16:43 2011', '__globals__': [], 'labels': array([[1], [3], [4], ..., [4], [3],

[4]], dtype=uint8), 'data': array([[ 1. , 0.35 , 0.265 , ..., 0.0995, 0.0485, 0.07 ], [ 2. , 0.53 , 0.42 , ..., 0.2565, 0.1415, 0.21 ], [ 1. , 0.44 , 0.365 , ..., 0.2155, 0.114 , 0.155 ], ...,

[ 1. , 0.59 , 0.44 , ..., 0.439 , 0.2145, 0.2605], [ 1. , 0.6 , 0.475 , ..., 0.5255, 0.2875, 0.308 ],

[ 2. , 0.625 , 0.485 , ..., 0.531 , 0.261 , 0.296 ]]), '__version__': '1.0'}>>> m.keys()

dict_keys(['__header__', '__globals__', 'labels', 'data', '__version__'])>>> m[\"labels\"]array([[1], [3], [4], ..., [4], [3],

[4]], dtype=uint8)

>>> m[\"data\"]

array([[ 1. , 0.35 , 0.265 , ..., 0.0995, 0.0485, 0.07 ], [ 2. , 0.53 , 0.42 , ..., 0.2565, 0.1415, 0.21 ], [ 1. , 0.44 , 0.365 , ..., 0.2155, 0.114 , 0.155 ], ...,

[ 1. , 0.59 , 0.44 , ..., 0.439 , 0.2145, 0.2605], [ 1. , 0.6 , 0.475 , ..., 0.5255, 0.2875, 0.308 ], [ 2. , 0.625 , 0.485 , ..., 0.531 , 0.261 , 0.296 ]])

有点不太懂这个“uint8”

>>> m[\"labels\"][0]array([1], dtype=uint8)>>> m[\"labels\"][0][0]1

>>> m[\"labels\"][0][0] + 12

>>> m[\"labels\"][0].as_type(\"int\")Traceback (most recent call last): File \"\", line 1, in

AttributeError: 'numpy.ndarray' object has no attribute 'as_type' # 注意时astype不是as_type>>> m[\"labels\"][0].dtypedtype('uint8')

>>> m[\"labels\"][0].astype(\"int\")array([1])

这个数据类型真是醉了:>>> type(m[\"labels\"][0][0] + 1)

如果要把它变成dataframe,导⼊pandas后

>>> df = pd.DataFrame(m[\"data\"])>>> df.head()

0 1 2 3 4 5 6 7

0 1.0 0.350 0.265 0.090 0.2255 0.0995 0.0485 0.0701 2.0 0.530 0.420 0.135 0.6770 0.2565 0.1415 0.2102 1.0 0.440 0.365 0.125 0.5160 0.2155 0.1140 0.1553 3.0 0.330 0.255 0.080 0.2050 0.0895 0.0395 0.0554 3.0 0.425 0.300 0.095 0.3515 0.1410 0.0775 0.120

因篇幅问题不能全部显示,请点此查看更多更全内容

Top