(1)NumPy的核心对象 ndarray
用于表示N 维数组类型。它描述相同类型的元素集合。 可以使用基于零的索引访问集合中的项目。
(2)Ndarray的创建
可以使用numpy.array()函数,具体形式为
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
序号 参数及描述
- l object 任何暴露数组接口方法的对象都会返回一个数组或任何(嵌套)序列。
- l dtype 数组的所需数据类型,可选。
- l copy 可选,默认为true,对象是否被复制。
- l order C(按行)、F(按列)或A(任意,默认)。
- l subok 默认情况下,返回的数组被强制为基类数组。 如果为true,则返回子类。
- l ndimin 指定返回数组的最小维数。
构造特定数值和结构的ndarray
numpy.empty 创建指定形状和dtype的未初始化数组。 它使用以下构造函数:numpy.empty(shape, dtype = float, order = 'C')
numpy.zeros返回特定大小,以 0 填充的新数组。numpy.zeros(shape, dtype = float, order = 'C')
numpy.ones 返回特定大小,以 1 填充的新数组。numpy.ones(shape, dtype = None, order = 'C')
numpy.asarray 类似于numpy.array,除了它有较少的参数。 可将 Python 序列转换为ndarray非常有用。
格式:numpy.asarray(a, dtype = None, order = None)
numpy.frombuffer此函数将缓冲区解释为一维数组。 暴露缓冲区接口的任何对象都用作参数来返回ndarray。
numpy.frombuffer(buffer, dtype = float, count = -1, offset = 0)
numpy.fromiter此函数从任何可迭代对象构建一个ndarray对象,返回一个新的一维数组。numpy.fromiter(iterable, dtype, count = -1)
numpy.arange这个函数返回ndarray对象,包含给定范围内的等间隔值。numpy.arange(start, stop, step, dtype)
numpy.linspace此函数类似于arange()函数。 在此函数中,指定了范围之间的均匀间隔数量,而不是步长。 此函数的用法如下。numpy.linspace(start, stop, num, endpoint, retstep, dtype)
numpy.logspace此函数返回一个ndarray对象,其中包含在对数刻度上均匀分布的数字。 刻度的开始和结束端点是某个底数的幂,通常为 10。numpy.logscale(start, stop, num, endpoint, base, dtype)
(3)NumPy - 数据类型对象dtype
NumPy 支持比 Python 更多种类的数值类型. 可用数据类型对象 (dtype)构造新的数据新类型
numpy.dtype(object, align, copy)
参数为:
- l Object:被转换为数据类型的对象。
- l Align:如果为true,则向字段添加间隔,使其类似 C 的结构体。
- l Copy: 生成dtype对象的新副本,如果为flase,结果是内建数据类型对象的引用。
(4)ndarray的属性
ndarray.shape 返回一个包含数组维度的元组,它也可以用于调整数组大小
ndarray.reshape 调整数组大小
ndarray.ndim 返回数组的维数
numpy.itemsize 返回数组中每个元素的字节单位长度。
numpy.flags ndarray对象拥有以下属性。这个函数返回了它们的当前值。
序号 Flags属性及描述
- C_CONTIGUOUS (C) 数组位于单一的、C 风格的连续区段内
- F_CONTIGUOUS (F) 数组位于单一的、Fortran 风格的连续区段内
- OWNDATA (O) 数组的内存从其它对象处借用
- WRITEABLE (W) 数据区域可写入。 将它设置为flase会锁定数据,使其只读
- ALIGNED (A) 数据和任何元素会为硬件适当对齐
- UPDATEIFCOPY (U) 这个数组是另一数组的副本。当这个数组释放时,源数组会由这个数组中的元素更新