我有以下numpy结构化数组:
x = np.array([(22,2,-1000000000.0,[1000,2000.0]),(22,400.0,2000.0])],dtype=[('f1','
如您所见,字段’f4’是一个矩阵:
In [63]: x['f4']
Out[63]:
array([[ 1000.,2000.],[ 1000.,2000.]],dtype=float32)
我的最终目标是拥有一个只有矢量的numpy结构化数组.我想知道如何将’f4’分成两个字段(‘f41’和’f42’),其中每个字段代表矩阵的列.
In [67]: x
Out[67]:
array([(22,1000.0,2000.0),2000.0)],('f41',('f42','
此外,我想知道是否有可能在使用修改数组的操作或最小化原始数据的复制时实现这一点.
最佳答案
您可以通过创建数组的新视图(np.view)来执行此操作,该视图不会复制:
原文链接:https://www.f2er.com/python/438620.htmlimport numpy as np
x = np.array([(22,2)])
xNewView = x.view(dtype=[('f1','
然后可以使用xNewView代替x.