本文简要介绍 python 语言中 numpy.recarray
的用法。
用法:
class numpy.recarray(shape, dtype=None, buf=None, offset=0, strides=None, formats=None, names=None, titles=None, byteorder=None, aligned=False, order='C')
构造一个允许使用属性进行字段访问的 ndarray。
数组可能具有包含字段的数据类型,类似于电子表格中的列。一个示例是
[(x, int), (y, float)]
,其中数组中的每个条目都是一对(int, float)
。通常,这些属性是使用字典查找来访问的,例如arr['x']
和arr['y']
。记录数组允许使用arr.x
和arr.y
将字段作为数组成员访问。- shape: 元组
输出数组的形状。
- dtype: 数据类型,可选
所需的数据类型。默认情况下,数据类型由格式、名称、标题、对齐和字节顺序确定。
- formats: 数据类型列表,可选
包含不同列的数据类型的列表,例如
['i4', 'f8', 'i4']
.格式做不是支持直接使用类型的新约定,即(int, float, int)
.注意格式必须是列表,而不是元组。鉴于格式有点有限,我们建议指定numpy.dtype反而。- names: str 的元组,可选
每列的名称,例如
('x', 'y', 'z')
。- buf: 缓冲区,可选
默认情况下,会创建给定形状和数据类型的新数组。如果缓冲区被指定并且是一个公开缓冲区接口的对象,该数组将使用现有缓冲区中的内存。在这种情况下,抵消和numpy.recarray.strides关键字可用。
- rec: 重新排列
给定形状和类型的空数组。
- titles: str 的元组,可选
列名的别名。例如,如果名字是
('x', 'y', 'z')
和标题是('x_coordinate', 'y_coordinate', 'z_coordinate')
, 然后arr['x']
相当于两者arr.x
和arr.x_coordinate
.- byteorder: {‘<’, ‘>’, ‘=’}, 可选
所有字段的字节顺序。
- aligned: 布尔型,可选
像 C-compiler 那样对齐内存中的字段。
- strides: 整数元组,可选
缓冲区(buf)根据这些步幅进行解释(步幅定义了每个数组元素、行、列等在内存中占用的字节数)。
- offset: 整数,可选
从此偏移开始读取缓冲区 (buf)。
- order: {‘C’, ‘F’},可选
行优先(C 风格)或列优先(Fortran-style)顺序。
参数:
返回:
其他参数:
注意:
此构造函数可以与
empty
进行比较:它创建一个新的记录数组,但不填充数据。要从数据创建记录数组,请使用以下方法之一:使用
arr.view(np.recarray)
创建标准 ndarray 并将其转换为记录数组使用 buf 关键字。
采用np.rec.fromrecords.
例子:
创建一个包含两个字段
x
和y
的数组:>>> x = np.array([(1.0, 2), (3.0, 4)], dtype=[('x', '<f8'), ('y', '<i8')]) >>> x array([(1., 2), (3., 4)], dtype=[('x', '<f8'), ('y', '<i8')])
>>> x['x'] array([1., 3.])
将数组视为记录数组:
>>> x = x.view(np.recarray)
>>> x.x array([1., 3.])
>>> x.y array([2, 4])
创建一个新的空记录数组:
>>> np.recarray((2,), ... dtype=[('x', int), ('y', float), ('z', int)]) rec.array([(-1073741821, 1.2249118382103472e-301, 24547520), (3471280, 1.2134086255804012e-316, 0)], dtype=[('x', '<i4'), ('y', '<f8'), ('z', '<i4')])
- numpy.recarray.T
转置数组。
- numpy.recarray.base
如果内存来自其他对象,则为基础对象。
- numpy.recarray.ctypes
一个用于简化数组与 ctypes 模块交互的对象。
data
指向数组数据开头的 Python 缓冲区对象。
- numpy.dtype
数组元素的数据类型。
flags
有关阵列的内存布局的信息。
- numpy.recarray.flat
数组上的一维迭代器。
- numpy.imag
数组的虚部。
- numpy.recarray.itemsize
一个数组元素的长度(以字节为单位)。
- numpy.recarray.nbytes
数组元素消耗的总字节数。
- numpy.recarray.ndim
数组维数。
- numpy.real
数组的实部。
- numpy.shape
数组维度的元组。
- numpy.recarray.size
数组中的元素数。
- numpy.recarray.strides
遍历数组时要在每个维度中步进的字节元组。
属性:
相关用法
- Python numpy recarray.dot用法及代码示例
- Python numpy recarray.itemset用法及代码示例
- Python numpy recarray.view用法及代码示例
- Python numpy recarray.tolist用法及代码示例
- Python numpy recarray.setflags用法及代码示例
- Python numpy recarray.flat用法及代码示例
- Python numpy recarray.sort用法及代码示例
- Python numpy recarray.astype用法及代码示例
- Python numpy recarray.itemsize用法及代码示例
- Python numpy recarray.tostring用法及代码示例
- Python numpy recarray.flatten用法及代码示例
- Python numpy recarray.item用法及代码示例
- Python numpy recarray.getfield用法及代码示例
- Python numpy recarray.ndim用法及代码示例
- Python numpy recarray.byteswap用法及代码示例
- Python numpy recarray.size用法及代码示例
- Python numpy recarray.T用法及代码示例
- Python numpy recarray.nbytes用法及代码示例
- Python numpy recarray.fill用法及代码示例
- Python numpy recarray.strides用法及代码示例
- Python numpy recarray.resize用法及代码示例
- Python numpy recarray.copy用法及代码示例
- Python numpy recarray.newbyteorder用法及代码示例
- Python numpy recarray.transpose用法及代码示例
- Python numpy recarray.partition用法及代码示例
注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.recarray。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。