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

关于其 dtype.type 的 ndarray 别名 generic

注释

使用 __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 对象

数组上的 1 维迭代器。

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

a.flat[n] = values[n] 设置为所有在 indices 中的 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 标量列表。

tostring([order])

tobytes 的兼容别名,行为完全相同。

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

返回数组对角线上的总和。

transpose(*axes)

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

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

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

view([dtype][, type])

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

dot

to_device