numpy.ndarray#
- class numpy.ndarray(shape, dtype=float, buffer=None, offset=0, strides=None, order=None)[source]#
数组对象表示一个多维、同构的固定大小项数组。一个相关的数据类型对象描述了数组中每个元素的格式(其字节顺序、它在内存中占用的字节数、它是一个整数、浮点数还是其他类型等等)。
数组应该使用
array
、zeros
或empty
来构造(请参阅下面的“另请参阅”部分)。这里给出的参数指的是用于实例化数组的低级方法(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__
创建数组有两种模式不需要
__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
缓冲区指向数组数据开头的 Python 缓冲区对象。
dtype
dtype 对象数组元素的数据类型。
flags
字典有关数组内存布局的信息。
flat
numpy.flatiter 对象数组上的 1 维迭代器。
imag
ndarray数组的虚部。
real
ndarray数组的实部。
size
整数数组中的元素数量。
itemsize
整数一个数组元素的字节长度。
nbytes
整数数组元素占用的总字节数。
ndim
整数数组的维度数。
shape
整数元组数组维度的元组。
strides
整数元组遍历数组时在每个维度上步进的字节数元组。
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])将
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)返回交换了 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