numpy.ndarray#

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

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

数组应使用 arrayzerosempty 构造(参见下面的另请参阅部分).这里给出的参数指的是用于实例化数组的低级方法(ndarray(…)).

更多信息,请参考 numpy 模块并检查数组的方法和属性.

参数:
(用于 __new__ 方法;见下面的注释)
shapeints 的元组

创建数组的形状.

dtype数据类型, 可选

任何可以被解释为 numpy 数据类型的对象.

buffer暴露缓冲区接口的对象,可选的

用于用数据填充数组.

offsetint, 可选

缓冲区中数组数据的偏移量.

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

转置数组的视图.

databuffer

指向数组数据开始的 Python 缓冲对象.

dtypedtype 对象

数组元素的数据类型.

flagsdict

关于数组内存布局的信息.

flatnumpy.flatiter 对象

一个在数组上进行一维迭代的迭代器.

imagndarray

数组的虚部.

realndarray

数组的实部.

sizeint

数组中的元素数量.

itemsizeint

一个数组元素的字节长度.

nbytesint

数组元素消耗的总字节数.

ndimint

数组的维度数量.

shapeints 的元组

数组维度的元组.

stridesints 的元组

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

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

对于所有索引中的 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 标量的嵌套列表.

tostring([order])

tobytes 的兼容别名,具有完全相同的行为.

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

返回数组对角线上的和.

transpose(*axes)

返回数组的转置视图.

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

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

view([dtype][, type])

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

dot

to_device