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
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
缓冲区指向数组数据开头的 Python 缓冲区对象。
dtype
dtype 对象数组元素的数据类型。
flags
字典关于数组内存布局的信息。
flat
numpy.flatiter 对象数组的一维迭代器。
imag
ndarray数组的虚部。
real
ndarray数组的实部。
size
整数数组中元素的数量。
itemsize
int每个数组元素的长度(字节)。
nbytes
int数组元素总共占用的字节数。
ndim
int数组的维度数。
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])对所有n in indices,设置
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])查找应在 a 中插入 v 的元素以保持顺序的索引。
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