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
整型一个数组元素在内存中的字节长度。
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])对于 indices 中的所有 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 标量列表返回。trace
([offset, axis1, axis2, dtype, out])返回数组对角线的总和。
transpose
(*axes)返回轴转置后的数组视图。
var
([axis, dtype, out, ddof, keepdims, where])返回给定轴上数组元素的方差。
view
([dtype][, type])具有相同数据的新数组视图。
dot
to_device