numpy.core.records.array

core.records.array(obj, dtype=None, shape=None, offset=0, strides=None, formats=None, names=None, titles=None, aligned=False, byteorder=None, copy=True)[源代码]

从各种各样的对象构造一个记录数组。

一种通用的记录数组构造函数,它将 recarray 基于输入的创建函数(参见注释)。

参数
对象:有吗

输入对象。有关如何处理各种输入类型的详细信息,请参见注释。

dtype: data-type, optional

数组的有效数据类型。

形状:int或int的元组,可选

每个阵列的形状。

偏移:int,可选

在文件或缓冲区中开始读取的位置。

步长:整数元组,可选

缓冲区 (buf )根据这些步幅进行解释(步幅定义每个数组元素、行、列等在内存中所占的字节数)。

格式、名称、标题、对齐、字节顺序:

如果 dtypeNone ,这些参数将传递给 numpy.format_parser 构造数据类型。有关详细文档,请参见该函数。

副本:bool,可选

是复制输入对象(True),还是改用引用。此选项仅在输入为ndarray或recarray时适用。默认为True。

返回
np.recarray

从指定对象创建的记录数组。

笔记

如果 objNone ,然后呼叫 recarray 建造师。如果 obj 是一个字符串,然后调用 fromstring 建造师。如果 obj 是一个列表或元组,那么如果第一个对象是 ndarray ,呼叫 fromarrays ,否则呼叫 fromrecords .如果 obj 是一个 recarray ,然后在重新排列中复制数据(如果 copy=True )并使用新的格式、名称和标题。如果 obj 是一个文件,然后打电话 fromfile . 最后,如果obj是 ndarray ,然后返回 obj.view(recarray) ,如果 copy=True .

实例

>>> a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])
>>> np.core.records.array(a)
rec.array([[1, 2, 3],
           [4, 5, 6],
           [7, 8, 9]],
    dtype=int32)
>>> b = [(1, 1), (2, 4), (3, 9)]
>>> c = np.core.records.array(b, formats = ['i2', 'f2'], names = ('x', 'y'))
>>> c
rec.array([(1, 1.0), (2, 4.0), (3, 9.0)],
          dtype=[('x', '<i2'), ('y', '<f2')])
>>> c.x
rec.array([1, 2, 3], dtype=int16)
>>> c.y
rec.array([ 1.0,  4.0,  9.0], dtype=float16)
>>> r = np.rec.array(['abc','def'], names=['col1','col2'])
>>> print(r.col1)
abc
>>> r.col1
array('abc', dtype='<U3')
>>> r.col2
array('def', dtype='<U3')