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])
- 属性:
Tndarray转置数组的视图。
data缓冲区指向数组数据开头的 Python 缓冲区对象。
dtypedtype 对象数组元素的数据类型。
flags字典有关数组内存布局的信息。
flatnumpy.flatiter 对象数组上的一维迭代器。
imagndarray数组的虚部。
realndarray数组的实部。
size整型数组中的元素数量。
itemsize整型一个数组元素在内存中的字节长度。
nbytes整型数组元素占用的总字节数。
ndim整型数组维度数量。
shape整型元组数组维度的元组。
strides整型元组遍历数组时,每个维度中要步进的字节数元组。
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])对于 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