您的位置:首页 > 移动开发 > Objective-C

Python 保存数组至.mat文件,报错:AttributeError: 'numpy.ndarray' object has no attribute 'items'

2017-09-15 14:42 3807 查看
Python保存数组的方式有很多种,如savetxt,但这个函数只能保存一维或二维数组。为了保存高维数组,同时能够在matlab载入,可以使用scipy.io.savemat()函数,例子:

import numpy as np
import scipy.io as sio
A = np.array([[[1, 2], [3, 4]],[[5, 6], [7, 8]]])
print A
print A.shape
sio.savemat('data.mat', {"foo":A})


得到输出:



在matlab中导入该数组:

>>load('data.mat')




可以看到,matlab与Python对矩阵的保存上有一定的变换,从Python到matlab为:’页’->’行’,’行’->’列’,’列’->’页’,即在Python中的矩阵形状为3×4×5,在matlab中变为5×3×4。

另外,在Python中如果保存成.mat文件时代码为:
sio.savemat('data.mat', A)
,则会报错
AttributeError: 'numpy.ndarray' object has no attribute 'items'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐