numpy.ndarray#
- class numpy.ndarray(shape, dtype=float, buffer=None, offset=0, strides=None, order=None)[源代码]#
数组对象表示一个多维的、同质的、固定大小的项的数组.一个关联的数据类型对象描述了数组中每个元素的格式(它的字节顺序、在内存中占用的字节数、它是整数、浮点数还是其他什么等).
数组应使用
array、zeros或empty构造(参见下面的另请参阅部分).这里给出的参数指的是用于实例化数组的低级方法(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__创建数组有两种模式:不需要
__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()共轭所有元素.
返回逐元素的复共轭.
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)返回一个数组的视图,其中 axis1 和 axis2 互换.
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