记录数组 (numpy.rec)#

记录数组将结构化数组的字段暴露为属性。

最常见的情况是,ndarray 包含单一类型的元素,例如浮点数、整数、布尔值等。然而,通过结构化类型,元素也可以是这些类型的组合,例如

>>> import numpy as np
>>> a = np.array([(1, 2.0), (1, 2.0)],
...     dtype=[('x', np.int64), ('y', np.float64)])
>>> a
array([(1, 2.), (1, 2.)], dtype=[('x', '<i8'), ('y', '<f8')])

这里,每个元素包含两个字段:x (一个整数) 和 y (一个浮点数)。这被称为结构化数组。不同的字段类似于电子表格中的列。可以通过字典的方式访问不同的字段。

>>> a['x']
array([1, 1])
>>> a['y']
array([2., 2.])

记录数组允许我们通过属性访问字段。

>>> ar = np.rec.array(a)
>>> ar.x
array([1, 1])
>>> ar.y
array([2., 2.])

函数#

array(obj[, dtype, shape, offset, strides, ...])

从各种对象构造记录数组。

find_duplicate(list)

查找列表中的重复项,返回一个包含重复元素的列表。

format_parser(formats, names, titles[, ...])

将格式、名称、标题描述转换为 dtype 的类。

fromarrays(arrayList[, dtype, shape, ...])

从(扁平化)数组列表创建记录数组。

fromfile(fd[, dtype, shape, offset, ...])

从二进制文件数据创建数组。

fromrecords(recList[, dtype, shape, ...])

从文本形式的记录列表中创建 recarray。

fromstring(datastring[, dtype, shape, ...])

从二进制数据创建记录数组。

此外,numpy.recarray 类和 numpy.record 标量 dtype 也存在于此命名空间中。