python – 将矩阵的numpy数组字段值拆分为列向量

前端之家收集整理的这篇文章主要介绍了python – 将矩阵的numpy数组字段值拆分为列向量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_301_1@我有以下numpy结构化数组:

@H_301_1@

x = np.array([(22,2,-1000000000.0,[1000,2000.0]),(22,400.0,2000.0])],dtype=[('f1','
@H_301_1@如您所见,字段’f4’是一个矩阵:

@H_301_1@

In [63]: x['f4']
Out[63]: 
array([[ 1000.,2000.],[ 1000.,2000.]],dtype=float32)
@H_301_1@我的最终目标是拥有一个只有矢量的numpy结构化数组.我想知道如何将’f4’分成两个字段(‘f41’和’f42’),其中每个字段代表矩阵的列.

@H_301_1@

In [67]: x
Out[67]: 
array([(22,1000.0,2000.0),2000.0)],('f41',('f42','
@H_301_1@此外,我想知道是否有可能在使用修改数组的操作或最小化原始数据的复制时实现这一点.
最佳答案
您可以通过创建数组的新视图(np.view)来执行此操作,该视图不会复制:

@H_301_1@

import numpy as np

x = np.array([(22,2)])
xNewView = x.view(dtype=[('f1','
@H_301_1@然后可以使用xNewView代替x.

猜你在找的Python相关文章