Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将数据数组转换为结构化数组?_Python_Numpy - Fatal编程技术网

Python 如何将数据数组转换为结构化数组?

Python 如何将数据数组转换为结构化数组?,python,numpy,Python,Numpy,我有一个形状为(100,50)的常规浮点数组。如何为前两列命名,即'idx1'和'idx2',以及'data'为其余列命名。您可以使用查看方法。下面是一个示例,在演示中使用形状为(3,5)的数组: In [21]: x Out[21]: array([[ 0., 1., 2., 3., 4.], [ 5., 6., 7., 8., 9.], [ 10., 11., 12., 13., 14.]]) In [22]: y

我有一个形状为
(100,50)
的常规浮点数组。如何为前两列命名,即
'idx1'
'idx2'
,以及
'data'
为其余列命名。

您可以使用
查看
方法。下面是一个示例,在演示中使用形状为(3,5)的数组:

In [21]: x
Out[21]: 
array([[  0.,   1.,   2.,   3.,   4.],
       [  5.,   6.,   7.,   8.,   9.],
       [ 10.,  11.,  12.,  13.,  14.]])

In [22]: y = x.ravel().view(dtype=[('idx1', float), ('idx2', float), ('data', float, 3)])

In [23]: y['idx1']
Out[23]: array([  0.,   5.,  10.])

In [24]: y['data']
Out[24]: 
array([[  2.,   3.,   4.],
       [  7.,   8.,   9.],
       [ 12.,  13.,  14.]])

In [25]: y['data'][1]
Out[25]: array([ 7.,  8.,  9.])

请注意,
y
是一个一维数组;它有形状(3,)。如果您将转换更改为
y=x.view(…)
(即不要拉威尔
x
),
y
将有(3,1),而
y['idx1']
将有形状(3,1)。

Nice,不知道如何使用
ravel
来避免额外的长度-1轴。