简介
NumPy(Numerical Python的简称)是Python数值计算最重要的基础包。大多数提供科学计算的包都是用NumPy的数组作为构建基础。
NumPy之于数值计算特别重要的原因之一,是因为它可以高效处理大数组的数据。这是因为:
NumPy是在一个连续的内存块中存储数据,独立于其他Python内置对象。NumPy的C语言编写的算法库可以操作内存,而不必进行类型检查或其它前期工作。比起Python的内置序列,NumPy数组使用的内存更少。
NumPy可以在整个数组上执行复杂的计算,而不需要Python的for循环。
ndarry
ndarry对象是一个快速而灵活的大数据集容器。你可以利用这种数组对整块数据执行一些数学运算,其语法跟标量元素之间的运算一样。
ndarray中的所有元素必须是相同类型的。
创建ndarry
np.array(yy) 列表转数组
np.zeros(10) 创建指定长度全1数组
np.ones(10) 创建指定长度全0数组
np.nrange(10) 创建array序列 nrange是range的数组版
np.arange(15).reshape((3,5)) 创建序列并指定行和列
数组转置和轴对换
arr.T 转置
np.dot(arr.T,arr) 计算矩阵内积
通用函数
np.sqrt(arr) 求平方
np.exp() 返回 e^x
np.maximum(x,y) 计算了x和y中元素级别最大的元素。
remainder , whole_part = np.modf(arr) 返回浮点数数组的小数和整数部分
xs,ys=np.meshgrid(points,points) 接受两个一维数组,并产生两个二维矩阵
np.where(cond,xarr,yarr) 条件获取:根据cond中的值选取xarr和yarr的值:当cond中的值为True时,选取xarr的值,否则从yarr中选取
arr.mean(axis=1) 计算行的平均值
arr.sum(axis=0) 计算每列的和
arr.cumsum(axis=0) 累加函数 所有元素的累计和
arr.cumprod(axis=1) 累积函数 所有元素的累计积
np.unique() 找出数组中的唯一值并返回已排序的结果
线性代数
np.dot(x, y) 矩阵乘法
inv(x) 逆矩阵
np.random.normal(size=(4,4)) 标准正态分布的4×4样本数组