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])
- 属性:
T
ndarray转置数组的视图.
data
buffer指向数组数据开始的 Python 缓冲对象.
dtype
dtype 对象数组元素的数据类型.
flags
dict关于数组内存布局的信息.
flat
numpy.flatiter 对象一个在数组上进行一维迭代的迭代器.
imag
ndarray数组的虚部.
real
ndarray数组的实部.
size
int数组中的元素数量.
itemsize
int一个数组元素的字节长度.
nbytes
int数组元素消耗的总字节数.
ndim
int数组的维度数量.
shape
ints 的元组数组维度的元组.
strides
ints 的元组在遍历数组时,每个维度中步进的字节元组.
ctypes
ctypes 对象一个对象,用于简化数组与 ctypes 模块的交互.
base
ndarray如果内存来自其他对象,则为基本对象.
方法
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