numpy.recarray.getfield

原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.recarray.getfield.html

译者:飞龙 UsyiyiCN

校对:(虚位以待)

recarray.getfield(dtype, offset=0)

将给定数组的字段返回为特定类型。

字段是具有给定数据类型的数组数据的视图。视图中的值由给定类型和当前数组的偏移量(以字节为单位)确定。偏移量需要使得视图dtype适合数组dtype;例如dtype complex128的数组具有16字节元素。如果采用32位整数(4字节)的视图,则偏移量必须介于0和12字节之间。

参数:

dtype:str或dtype

视图的数据类型。视图的dtype大小不能大于数组本身的大小。

offset:int

在开始元素视图之前要跳过的字节数。

例子

>>> x = np.diag([1.+1.j]*2)
>>> x[1, 1] = 2 + 4.j
>>> x
array([[ 1.+1.j,  0.+0.j],
       [ 0.+0.j,  2.+4.j]])
>>> x.getfield(np.float64)
array([[ 1.,  0.],
       [ 0.,  2.]])

通过选择8个字节的偏移量,我们可以选择数组的复数部分作为我们的视图:

>>> x.getfield(np.float64, offset=8)
array([[ 1.,  0.],
   [ 0.,  4.]])