我是python的新手,所以我真的不知道如何提出我的问题,所以我的术语可能是错的。无论如何,我给出了一些初步代码,创建了一个名为subeta的矩阵。我需要使用subeta。但是,当我输入'subeta'时,我发现该对象实际上比我想要使用的矩阵有更多的信息(见下文)。如何从该对象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'}
答案 0 :(得分:5)
subeta
是一本字典。要获得数组的句柄,您可以这样做:
array = subeta['data']
现在,array
是一个numpy ndarray
,它包含float32
个对象(它是一个4字节的浮点数组)。 ndarray
个对象带有大量非常有用的元数据(包括dtype=float32
部分,可以从.dtype
属性和shape
等其他属性进行检查
答案 1 :(得分:1)
使用:
subeta['data']
或者:
my_data = subeta['data']