记录数组 (numpy.rec)#

记录数组将结构化数组的字段作为属性公开。

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

>>> 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 也存在于此命名空间中。