数组对象表示固定大小项的多维、同质数组。关联的数据类型对象描述了数组中每个元素的格式(其字节顺序、在内存中占用的字节数、是整数、浮点数还是其他什么,等等)。
数组应使用 array、zeros 或 empty(请参阅下面的“另请参阅”部分)来构造。此处给出的参数指的是实例化数组的底层方法(ndarray(…))。
有关更多信息,请参阅 numpy 模块,并检查数组的方法和属性。
参数: (适用于 __new__ 方法;请参阅下面的“注释”) shape整数元组创建数组的形状。
dtype数据类型,可选任何可以解释为 numpy 数据类型的对象。默认为 numpy.float64。
buffer暴露 buffer 接口的对象,可选用于用数据填充数组。
offsetint, optional缓冲区中数组数据的偏移量。
strides整数元组,可选内存中数据的步幅。
order{‘C’, ‘F’}, optional行主序(C 风格)或列主序(Fortran 风格)顺序。
另请参阅
array构造一个数组。
zeros创建一个数组,其每个元素都为零。
empty创建一个数组,但保持其已分配的内存不变(即,它包含“垃圾”)。
dtype创建数据类型。
numpy.typing.NDArray一个 ndarray 别名,相对于其 dtype.type 是 通用类型。
备注
使用 __new__ 创建数组有两种模式:
由于数组在 __new__ 方法之后已完全初始化,因此不需要 __init__ 方法。
示例
这些示例说明了底层的 ndarray 构造函数。有关构造 ndarray 的更简便方法,请参阅上方的“另请参阅”部分。
第一种模式,buffer 为 None
第二种模式
转置数组的视图。
databuffer指向数组数据起始位置的 Python 缓冲区对象。
dtypedtype 对象数组元素的**数据类型**。
flags字典有关数组内存布局的信息。
flatnumpy.flatiter 对象数组的 1-D 迭代器。
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, stable]) |
返回将此数组排序的索引。 |
astype(dtype[, order, casting, subok, copy]) |
将数组复制并转换为指定类型。 |
byteswap([inplace]) |
交换数组元素的字节 |
choose(choices[, out, mode]) |
使用索引数组从一组选项中构造一个新数组。 |
clip([min, max, out]) |
返回一个值被限制在 [min, max] 范围内的数组。 |
compress(condition[, axis, out]) |
沿给定轴返回此数组的选定切片。 |
conj() |
计算所有元素的复共轭。 |
逐元素返回复共轭。 |
|
copy([order]) |
返回数组的副本。 |
cumprod([axis, dtype, out]) |
返回沿给定轴的元素的累积乘积。 |
cumsum([axis, dtype, out]) |
返回沿给定轴的元素的累积和。 |
diagonal([offset, axis1, axis2]) |
返回指定的对角线。 |
dot(other, /[, out]) |
有关完整文档,请参阅 numpy.dot。 |
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-th 位置的元素处于它在已排序数组中的位置。 |
prod([axis, dtype, out, keepdims, initial, ...]) |
返回数组元素在给定轴上的乘积 |
put(indices, values[, mode]) |
对于所有 indices 中的 n,设置 a.flat[n] = values[n]。 |
ravel([order]) |
返回一个展平的数组。 |
repeat(repeats[, axis]) |
重复数组中的元素。 |
reshape(a.reshape) |
返回一个具有新形状的包含相同数据的数组。 |
resize(a.resize) |
原地更改数组的形状和大小。 |
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, stable]) |
就地排序数组。 |
squeeze([axis]) |
从 a 中移除长度为一的轴。 |
std([axis, dtype, out, ddof, keepdims, ...]) |
返回给定轴上数组元素的标准差。 |
sum([axis, dtype, out, keepdims, initial, where]) |
沿给定轴返回数组元素的总和。 |
swapaxes(axis1, axis2, /) |
返回数组的视图,其中 axis1 和 axis2 已交换。 |
take(indices[, axis, out, mode]) |
从 a 中按给定索引返回一个由元素组成的数组。 |
to_device(device, /, *[, stream]) |
为了 Array API 兼容性。 |
tobytes([order]) |
构建包含数组原始数据字节的 Python bytes 对象。 |
tofile(fid, /[, sep, format]) |
将数组以文本或二进制(默认)形式写入文件。 |
tolist() |
将数组作为深度为 a.ndim 的嵌套 Python 标量列表返回。 |
trace([offset, axis1, axis2, dtype, out]) |
返回数组对角线上的元素之和。 |
transpose(*axes) |
返回一个视图,其中数组的轴已转置。 |
var([axis, dtype, out, ddof, keepdims, ...]) |
返回数组元素在给定轴上的方差。 |
view([dtype][, type]) |
具有相同数据的数组的新视图。 |