0

我是 python 新手,所以我真的不知道如何问我的问题,所以我的术语可能是错误的。不管怎样,我得到了一些初步的代码来创建一个叫做 subeta 的矩阵。我需要使用 subeta。但是,当我输入“subbeta”时,我看到该对象实际上比我要使用的矩阵包含更多信息(见下文)。如何从存储在该对象 subeta 中的所有信息中仅提取数组(在 'data': 之后,不包括 dtype=float32 部分)?

In [17]: subeta

Out[17]: 
{'data': array([[ 1.        ,  0.88093734,  0.87001401, ...,  0.65282464,
     0.59209341,  0.58587438],
   [ 0.88093734,  1.        ,  0.97301871, ...,  0.63097703,
     0.60524851,  0.60063201],
   [ 0.87001401,  0.97301871,  1.        , ...,  0.6584534 ,
     0.61063689,  0.5927977 ],
   ..., 
   [ 0.65282464,  0.63097703,  0.6584534 , ...,  1.        ,
     0.7761867 ,  0.72384161],
   [ 0.59209341,  0.60524851,  0.61063689, ...,  0.7761867 ,
     1.        ,  0.99335372],
   [ 0.58587438,  0.60063201,  0.5927977 , ...,  0.72384161,
     0.99335372,  1.        ]], dtype=float32),
'desc': 'Correlation matrix [channels,channels]',
'funcfile': '/Users/...[omitted]/newJJ/S3/func/func_res.nii.gz',
'mask': <nibabel.nifti1.Nifti1Image at 0x5344350>, 
'maskfile': '/Users/...[omitted]/S3/segment/gm2func.nii.gz /\\ sphere.nii.gz',
'maskthresh': 0.5,
'mode': 'fMRI', 
'type': 'VTT/eta2'}
4

2 回答 2

4

subeta是一本字典。要获取数组的句柄,您可以执行以下操作:

array = subeta['data']

现在,是一个保存对象array的 numpy (它是一个 4 字节浮点数的数组)。 对象携带了大量非常有用的元数据(包括可以从属性和其他属性中检查的部分,如)。ndarrayfloat32ndarraydtype=float32.dtypeshape

于 2013-05-29T14:52:55.793 回答
1

采用:

subeta['data']

或者:

my_data = subeta['data']
于 2013-05-29T14:53:23.717 回答