npy
是一个独特的numpy
文件格式。是的,它有一个包含版本,维度,步幅和dtype等信息的标题块。
快速浏览readNpy
显示它是相对较新和实验性的。检查他们的能力。
np.savetxt
写入文本CSV
文件。这是广泛使用的(查看关于np.genfromtxt
和np.loadtxt
的SO问题的数量),但“纸”的本质是2d - 列的行。我不知道有什么标准可以编写更高维的数组 - 重塑成2d和返回可能是最简单的。
scipy.io.savemat
可以写MATLAB兼容.mat
文件。这个(和loadmat
)能够读/写较高D数组,以及MATLAB结构和单元。这是numpy
和MATLAB之间经过最好测试的文件交换。
较新的MATLAB保存格式使用HDF5文件。 Python h5py
包可以读取和写入。关于阅读由MATLAB生成的这种类型的文件,存在着一些SO问题。 Python-created HDF5 dataset transposed in Matlab
请记住,MATLAB维度排序相当于numpy
'F'的顺序。
比较:
xf=np.arange(12).reshape(3,4,order='F') # saved with savemat
>> xf(:).' # in octave
ans =
0 1 2 3 4 5 6 7 8 9 10 11
没有顺序= F,倍频给
0 4 8 1 5 9 2 6 10 3 7 11
和
>> xf
xf =
0 3 6 9
1 4 7 10
2 5 8 11
>> x
x =
0 1 2 3
4 5 6 7
8 9 10 11
np.asfortranarray(x)
似乎不有所作为。
在R或在MATLAB?他们非常不同 –
直接联系'readNpy'开发者。这个软件包太新了。 – hpaulj
无论是R还是MATLAB,虽然我认为我更喜欢MATLAB解决方案... – lilla