numpy.recarray¶
- class
numpy.
recarray
[source]¶ 构造一个允许使用属性进行字段访问的ndarray。
数组可能具有包含字段的数据类型,类似于电子表格中的列。例如
[(x, int), (y, float)] t0 >,其中数组中的每个条目是一对
通常,使用字典查找(例如(int, float)
。arr['x']
和arr['y']
)访问这些属性。记录数组允许使用arr.x
和arr.y
作为数组的成员访问字段。参数: shape:tuple
输出数组的形状。
dtype:数据类型,可选
所需的数据类型。默认情况下,数据类型由格式,名称,标题,对齐和。
格式:数据类型列表,可选
包含不同列的数据类型的列表,例如
['i4', 'f8', 'i4']
。formats does not support the new convention of using types directly, i.e.(int, float, int)
. 请注意,格式必须是列表,而不是元组。由于格式有限,建议您改为指定dtype
。名称:str的tuple,可选
每列的名称,例如
('x', 'y', 'z')
。buf:buffer,可选
默认情况下,将创建给定形状和数据类型的新数组。如果指定buf并且是暴露缓冲区接口的对象,则数组将使用来自现有缓冲区的内存。在这种情况下,偏移和
strides
关键字可用。返回: rec:recarray
给定形状和类型的空数组。
其他参数: titles:str的tuple,可选
列名称的别名。例如,如果名称是
('x', 'y', 'z')
和标题是('x_coordinate', 'y_coordinate', 'z_coordinate') t9 >
,则arr['x']
等效于arr.x
和arr.x_coordinate
。byteorder:{'','='},可选
所有字段的字节顺序。
aligned:bool,可选
将内存中的字段与C编译器对齐。
strides:ints的tuple,可选
根据这些步长解释缓冲区(buf)(strides定义每个数组元素,行,列等的字节数。占用内存)。
offset:int,可选
从此偏移开始读取缓冲区(buf)。
order:{'C','F'},可选
行主(C风格)或列主(Fortran风格)顺序。
也可以看看
rec.fromrecords
- 从数据构造记录数组。
record
recarray
的基本数据类型。format_parser
- 从格式,名称,标题确定数据类型。
笔记
这个构造函数可以与
empty
比较:它创建一个新记录数组,但不会填充数据。要从数据创建记录数组,请使用以下方法之一:- 使用
arr.view(np.recarray)
创建标准ndarray并将其转换为记录数组。 - 使用buf关键字。
- 使用np.rec.fromrecords。
例子
创建具有两个字段
x
和y
的数组:>>> x = np.array([(1.0, 2), (3.0, 4)], dtype=[('x', float), ('y', int)]) >>> x array([(1.0, 2), (3.0, 4)], dtype=[('x', '<f8'), ('y', '<i4')])
>>> 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')])
属性
T
与self.transpose()相同,除非self是self.ndim返回 base
如果内存是来自某个其他对象的基本对象。 ctypes
一个对象,用于简化数组与ctypes模块的交互。 data
Python缓冲区对象指向数组的数据的开始。 dtype
数组元素的数据类型。 flags
有关数组的内存布局的信息。 flat
数组上的1-D迭代器。 imag
数组的虚部。 itemsize
一个数组元素的长度(以字节为单位)。 nbytes
数组的元素消耗的总字节数。 ndim
数组尺寸数。 real
数组的真实部分。 shape
数组维数组。 size
数组中的元素数。 strides
遍历数组时,在每个维度中步进的字节数组。 方法
all
([axis,out,keepdims])如果所有元素均为True,则返回True。 any
([axis,out,keepdims])如果a的任何元素求值为True,则返回True。 argmax
([axis,out])沿给定轴的最大值的返回指数。 argmin
([axis,out])沿着a的给定轴的最小值的返回指数。 argpartition
(kth [,axis,kind,order])返回将对此数组进行分区的索引。 argsort
([axis,kind,order])返回将此数组排序的索引。 astype
(dtype [,order,casting,subok,copy])数组的复制,强制转换为指定的类型。 byteswap
(inplace)交换数组元素的字节 choose
(choices [,out,mode])使用索引数组从一组选择中构造新的数组。 clip
([min,max,out])返回值限于 [min, max]
的数组。compress
(condition [,axis,out])沿给定轴返回此数组的所选切片。 conj
()复共轭所有元素。 conjugate
()按元素方式返回复共轭。 copy
([order])返回数组的副本。 cumprod
([axis,dtype,out])返回沿给定轴的元素的累积乘积。 cumsum
([axis,dtype,out])返回沿给定轴的元素的累积和。 diagonal
([offset,axis1,axis2])返回指定的对角线。 dot
(b [,out])两个数组的点积。 dump
(file)将数组的pickle转储到指定的文件。 dumps
()以字符串形式返回数组的pickle。 field
(attr [,val])fill
(value)使用标量值填充数组。 flatten
([order])将折叠的数组的副本返回到一个维度。 getfield
(dtype [,offset])将给定数组的字段返回为特定类型。 item
(\ * args)将数组的元素复制到标准Python标量并返回。 itemset
(\ * args)将标量插入到数组中(如果可能,将标量转换为数组的dtype) max
([axis,out])沿给定轴返回最大值。 mean
([axis,dtype,out,keepdims])返回沿给定轴的数组元素的平均值。 min
([axis,out,keepdims])沿给定轴返回最小值。 newbyteorder
([new_order])返回具有以不同字节顺序查看的相同数据的数组。 nonzero
()返回非零元素的索引。 partition
(kth [,axis,kind,order])重新排列数组中的元素,使得第k个位置的元素的值在排序数组中的位置。 prod
([axis,dtype,out,keepdims])返回给定轴上的数组元素的乘积 ptp
([axis,out])沿给定轴的峰到峰(最大 - 最小)值。 put
(indices,values [,mode])对于所有n,设置 a.flat [n] = 在指数。
ravel
([order])返回展平的数组。 repeat
(重复[,轴])重复数组的元素。 reshape
(shape [,order])返回包含具有新形状的相同数据的数组。 resize
(new_shape [,refcheck])就地更改数组的形状和大小。 round
([小数,输出])返回a,每个元素四舍五入为给定的小数位数。 searchsorted
(v [,side,sorter])查找索引,其中v的元素应插入到a以维持顺序。 setfield
将值放入由数据类型定义的字段中的指定位置。 setflags
([write,align,uic])分别设置数组标志WRITEABLE,ALIGNED和UPDATEIFCOPY。 sort
([axis,kind,order])就地对数组进行排序。 squeeze
([axis])从a形状删除单维条目。 std
([axis,dtype,out,ddof,keepdims])返回给定轴上的数组元素的标准偏差。 sum
([axis,dtype,out,keepdims])返回给定轴上的数组元素的总和。 swapaxes
(axis1,axis2)返回数组的视图,其中axis1和axis2互换。 take
(indices [,axis,out,mode])返回由给定索引处的a元素形成的数组。 tobytes
([order])在数组中构造包含原始数据字节的Python字节。 tofile
(fid [,sep,format])将数组作为文本或二进制(默认)写入文件。 tolist
()将数组返回为(可能是嵌套的)列表。 tostring
([order])在数组中构造包含原始数据字节的Python字节。 trace
([offset,axis1,axis2,dtype,out])沿数组的对角线返回总和。 transpose
(\ * axes)返回具有轴转置的数组的视图。 var
([axis,dtype,out,ddof,keepdims])沿给定轴返回数组元素的方差。 view
([dtype,type])数组的新视图与相同的数据。