访问多维(3D和4D)数组中的元素

时间:2016-11-11 12:33:53

标签: python arrays database multidimensional-array extract

我有以下问题:我有一个结构为4x17x4和5个字段的matlab数据库(.mat)。里面的字段是“field_a”,“field_b”,“field_c”,“field_d”,“field_e”。在matlab中很容易从中提取元素,但我需要在python中找到一个解决方案。在matlab中我这样做:

data = {database(:,1,1).a}

如何在python中提取“数据”? 我现在所做的是在python中加载matlab数据库:

fnameSISO["States"] = sio.loadmat('databaseSISO_states')

但是当我尝试提取数据时,它不起作用:

data = fnameSISO["States"][:,1,1]

此外,我尝试使用以下方法加载数据库:

fnameSISO["Loo"] = np.asarray(sio.loadmat('databaseSISO_states'))

它也不起作用。

在这种情况下我该怎么办?如果我将数据库保存在json文件中,我能够提取出我需要的元素吗?

提前谢谢。

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。编写语法时我犯了一个错误。 解决方案:

data = fname["States"]["database"]["field_a"][:,1,1]