NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 NumPy 的前身 Numeric 最早是由 Jim Hugunin 与其它协作者共同开发,2005 年,Travis Oliphant 在 Numeric 中结合了另一个同性质的程序库 Numarray 的特色,并加入了其它扩展而开发了 NumPy。NumPy 为开放源代码并且由许多协作者共同维护开发。
待续。。。
NumPy - 简介NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。Numeric,即 NumPy 的前身,是由 Jim Hugunin 开发的。 也开发了另一个包 Numarray ,它拥有一些额外的功能。 2005年,Travis Oliphant 通过将 Numarray 的功能集成到 Numer...
NumPy 中定义的最重要的对象是称为 ndarray 的 N 维数组类型。 它描述相同类型的元素集合。 可以使用基于零的索引访问集合中的项目ndarray 中的每个元素在内存中使用相同大小的块。 ndarray 中的每个元素是数据类型对象的对象(称为 dtype)ndarray 原型:numpy.array(object, dtype=None, copy=True, order=None...
调整数组的数组大小和维度ndarray.shape 返回一个包含数组维度的元组,也可以用于调整数组大小和维度In [1]: import numpy as npIn [2]: num = np.array([[1,2,3],[4,5,6]])In [3]: numOut[3]:array([[1, 2, 3], [4, 5, 6]])In [4]: num.sha...
numpy.empty 创建指定形状和dtype的未初始化数组numpy.empty(shape, dtype = float, order = 'C')Shape 空数组的形状,整数或整数元组Dtype 所需的输出数组类型,可选Order 'C’为按行的 C 风格数组,'F’为按列的 Fortran 风格数组下面的代码展示空数组的例子,因为它们未初始化,所以数组元素默...
numpy.asarray 此函数类似于numpy.array,它有较少的参数numpy.asarray(a, dtype = None, order = None)a 任意形式的输入参数,比如列表、列表的元组、元组、元组的元组、元组的列表dtype 通常,输入数据的类型会应用到返回的 ndarrayorder ‘C’ 为按行的 C 风格数组,‘F’ 为按列的 Fortran...
ndarray 对象中的元素遵循基于零的索引。 有三种可用的索引方法类型: 字段访问,基本切片和高级索引ndarray 对象的内容可以通过索引或切片来访问和修改,与 Python 中 list 的切片操作一样ndarray 数组可以基于 0 - n 的下标进行索引,切片对象可以通过内置的 slice 函数,并设置 start, stop 及 step 参数进行,从原数组中切割出一个新数组In...
整数数组索引NumPy 比一般的 Python 序列提供更多的索引方式。除了之前看到的用整数和切片的索引外,数组可以由整数数组索引、布尔索引及花式索引实例获取数组中(0,0),(1,1)和(2,0)位置处的元素In [1]: import numpy as npIn [2]: num = np.array([[1, 2], [3, 4], [5, 6]])In [3]: n...
广播(Broadcast)是 numpy 对不同形状(shape)的数组进行数值计算的方式, 对数组的算术运算通常在相应的元素上进行如果两个数组 a 和 b 形状相同,即满足 a.shape == b.shape,那么 a*b 的结果就是 a 与 b 数组对应位相乘。这要求维数相同,且各维度的长度相同In [1]: import numpy as npIn [2]: a = np.arra...
Numpy 中包含了一些函数用于处理数组,大概可分为以下几类:修改数组形状翻转数组修改数组维度连接数组分割数组数组元素的添加与删除修改数组形状reshape 不改变数据的条件下修改形状flat 数组元素迭代器flatten 返回一份数组拷贝,对拷贝所做的修改不会影响原始数组ravel 返回展开数组numpy.reshape 函...
NumPy bitwise_ 开头的函数是位运算函数NumPy 位运算包括以下几个函数:bitwise_and 对数组元素执行位与操作bitwise_or 对数组元素执行位或操作invert 按位取反left_shift 向左移动二进制表示的位right_shift 向右移动二进制表示的位也可以用 Python 自身的位运算符进行操作:&:按位与...
以下函数用于对 dtype 为 numpy.string_ 或 numpy.unicode_ 的数组执行向量化字符串操作它们基于 Python 内置库中的标准字符串函数,这些函数在字符数组类(numpy.char)中定义add() 对两个数组的逐个字符串元素进行连接multiply() 返回按元素多重连接后的字符串center() 居中字符串capitalize() 将字...
NumPy 算术函数包含简单的加减乘除: add(),subtract(),multiply() 和 divide()需要注意的是数组必须具有相同的形状或符合数组广播规则In [1]: import numpy as npIn [2]: x = np.arange(9, dtype = np.float_).reshape(3,3)In [3]: xOut[3]:array([[0...
NumPy 提供了很多统计函数,用于从数组中查找最小元素,最大元素,百分位标准差和方差等numpy.amin() 用于计算数组中的元素沿指定轴的最小值numpy.amax() 用于计算数组中的元素沿指定轴的最大值示例:In [1]: import numpy as npIn [2]: num = np.array([[3,7,5],[8,4,3],[2,4,9]])In...
NumPy 提供了多种排序的方法。 这些排序函数实现不同的排序算法,每个排序算法的特征在于执行速度,最坏情况性能,所需的工作空间和算法的稳定性。 下表显示了三种排序算法的比较种类速度最坏情况工作空间稳定性‘quicksort’(快速排序)1O(n^2)0否‘mergesort’(归并排序)2O(n*log(n))~n/2是‘heapsort’...
副本是一个数据的完整的拷贝,如果我们对副本进行修改,它不会影响到原始数据,物理内存不在同一位置视图是数据的一个别称或引用,通过该别称或引用亦便可访问、操作原有数据,但原有数据不会产生拷贝。如果我们对视图进行修改,它会影响到原始数据,物理内存在同一位置视图一般发生在:numpy 的切片操作返回原数据的视图调用 ndarray 的 view() 函数产生一个视图副本一般发生在:...
NumPy 中包含了一个矩阵库 numpy.matlib,该模块中的函数返回的是一个矩阵,而不是 ndarray 对象一个 m * n 的矩阵是一个由 m 行(row)n 列(column)元素排列成的矩形阵列矩阵里的元素可以是数字、符号或数学式。以下是一个由 6 个数字元素构成的 2 行 3 列的矩阵matlib.empty() 函数返回一个新的矩阵,语法格式为:numpy.matli...
NumPy 提供了线性代数函数库 linalg,该库包含了线性代数所需的所有功能,可以看看下面的说明:dot 两个数组的点积,即元素对应相乘vdot 两个向量的点积inner 两个数组的内积matmul 两个数组的矩阵积determinant 数组的行列式solve 求解线性矩阵方程inv 计算矩阵的乘法逆矩阵numpy.dot() 函数对于两个一...