numpy.ndarray#

class numpy.ndarray(shape, dtype=float, buffer=None, offset=0, strides=None, order=None)[source]#

数组对象表示一个多维、同构、固定大小的项数组。关联的数据类型对象描述了数组中每个元素的格式(其字节顺序、在内存中占用的字节数、是整数、浮点数还是其他类型等)。

数组应使用 arrayzerosempty 构建(参考下面的“另请参阅”部分)。此处给出的参数指的是实例化数组的低级方法(ndarray(…))。

有关更多信息,请参阅 numpy 模块并查看数组的方法和属性。

参数:
(针对 __new__ 方法;参见下面的“注释”)
shape整型元组

创建数组的形状。

dtype数据类型,可选

任何可被解释为 NumPy 数据类型的对象。

buffer公开缓冲区接口的对象,可选

用于用数据填充数组。

offset整型,可选

数组数据在缓冲区中的偏移量。

strides整型元组,可选

数据在内存中的步长。

order{‘C’,‘F’},可选

行主序(C 风格)或列主序(Fortran 风格)。

另请参阅

array

构造一个数组。

zeros

创建一个数组,其中每个元素均为零。

empty

创建一个数组,但保留其已分配内存不变(即,它包含“垃圾”数据)。

dtype

创建一个数据类型。

numpy.typing.NDArray

一个 ndarray 别名,关于其 dtype.type 具有 泛型 特性。

注释

使用 __new__ 创建数组有两种模式:

  1. 如果 buffer 为 None,则仅使用 shapedtypeorder

  2. 如果 buffer 是一个公开缓冲区接口的对象,则所有关键字都会被解释。

无需 __init__ 方法,因为数组在 __new__ 方法后已完全初始化。

示例

这些示例说明了低级的 ndarray 构造函数。有关构建 ndarray 的更简单方法,请参阅上面的“另请参阅”部分。

第一种模式,buffer 为 None

>>> import numpy as np
>>> np.ndarray(shape=(2,2), dtype=float, order='F')
array([[0.0e+000, 0.0e+000], # random
       [     nan, 2.5e-323]])

第二种模式

>>> np.ndarray((2,), buffer=np.array([1,2,3]),
...            offset=np.int_().itemsize,
...            dtype=int) # offset = 1*itemsize, i.e. skip first element
array([2, 3])
属性:
Tndarray

转置数组的视图。

data缓冲区

指向数组数据开头的 Python 缓冲区对象。

dtypedtype 对象

数组元素的数据类型。

flags字典

有关数组内存布局的信息。

flatnumpy.flatiter 对象

数组上的一维迭代器。

imagndarray

数组的虚部。

realndarray

数组的实部。

size整型

数组中的元素数量。

itemsize整型

一个数组元素在内存中的字节长度。

nbytes整型

数组元素占用的总字节数。

ndim整型

数组维度数量。

shape整型元组

数组维度的元组。

strides整型元组

遍历数组时,每个维度中要步进的字节数元组。

ctypesctypes 对象

一个简化数组与 ctypes 模块交互的对象。

basendarray

如果内存来自其他对象,则为基对象。

方法

all([axis, out, keepdims, where])

如果所有元素求值为 True,则返回 True。

any([axis, out, keepdims, where])

如果 a 的任何元素求值为 True,则返回 True。

argmax([axis, out, keepdims])

返回给定轴上最大值的索引。

argmin([axis, out, keepdims])

返回给定轴上最小值的索引。

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])

返回指定的对角线。

dump(file)

将数组的 pickle 序列化到指定文件。

dumps()

将数组的 pickle 作为字符串返回。

fill(value)

用标量值填充数组。

flatten([order])

返回折叠为一维的数组副本。

getfield(dtype[, offset])

将给定数组的一个字段作为特定类型返回。

item(*args)

将数组的一个元素复制为标准 Python 标量并返回。

max([axis, out, keepdims, initial, where])

返回给定轴上的最大值。

mean([axis, dtype, out, keepdims, where])

返回给定轴上数组元素的平均值。

min([axis, out, keepdims, initial, where])

返回给定轴上的最小值。

nonzero()

返回非零元素的索引。

partition(kth[, axis, kind, order])

部分排序数组中的元素,使得第 k 个位置的元素位于它在排序数组中应有的位置。

prod([axis, dtype, out, keepdims, initial, ...])

返回给定轴上数组元素的乘积

put(indices, values[, mode])

对于 indices 中的所有 n,设置 a.flat[n] = values[n]

ravel([order])

返回一个展平的数组。

repeat(repeats[, axis])

重复数组的元素。

reshape(shape, /, *[, order, copy])

返回一个包含相同数据但具有新形状的数组。

resize(new_shape[, refcheck])

原地改变数组的形状和大小。

round([decimals, out])

返回 a,其中每个元素都四舍五入到给定的小数位数。

searchsorted(v[, side, sorter])

查找应将 v 的元素插入到 a 中以保持顺序的索引。

setfield(val, dtype[, offset])

将值放入由数据类型定义的字段的指定位置。

setflags([write, align, uic])

分别设置数组标志 WRITEABLE、ALIGNED、WRITEBACKIFCOPY。

sort([axis, kind, order])

原地排序数组。

squeeze([axis])

a 中移除长度为一的轴。

std([axis, dtype, out, ddof, keepdims, where])

返回给定轴上数组元素的标准差。

sum([axis, dtype, out, keepdims, initial, where])

返回给定轴上数组元素的总和。

swapaxes(axis1, axis2)

返回交换 axis1axis2 后的数组视图。

take(indices[, axis, out, mode])

返回由给定索引处 a 的元素构成的数组。

tobytes([order])

构造包含数组中原始数据字节的 Python 字节对象。

tofile(fid[, sep, format])

将数组以文本或二进制(默认)形式写入文件。

tolist()

将数组作为 a.ndim 深度嵌套的 Python 标量列表返回。

trace([offset, axis1, axis2, dtype, out])

返回数组对角线的总和。

transpose(*axes)

返回轴转置后的数组视图。

var([axis, dtype, out, ddof, keepdims, where])

返回给定轴上数组元素的方差。

view([dtype][, type])

具有相同数据的新数组视图。

dot

to_device