numpy.ndarray.getfield#

method

ndarray.getfield(dtype, offset=0)#

返回给定数组的字段,作为某种类型.

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

参数:
dtypestr or dtype

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

offsetint

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

示例

>>> import numpy as np
>>> 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.]])