以前觉得Numpy是人渣,后来深入接触才知道它这么厉害。堪比Matlab。果然,人生苦短。我用Python。因此,作为记录说明,本文大部分内容取自互联网,以便在官网等快速上手。希望能帮助你快速上手Numpy。如果你有Matlab的基础知识,那么你可以很快理解这篇文章!(私信边肖111可以获得Python视频教程!)
栗子
创建矩阵
对于Python中的numpy模块,一般使用它提供的ndarray对象。创建一个数组对象非常简单,只需将一个列表作为参数。
例如:
矩阵的行数和序列
按行和列选择矩阵
矩阵截取与列表截取相同,可以用[](方括号)截取。
矩阵条件截取
条件截取的应用是将矩阵中满足一定条件的元素变成特定的值。例如,将矩阵中大于6的元素更改为0。
将不同的阵列堆叠在一起
矩阵的合并可以通过numpy :中的hstack方法和vstack方法来实现。
矩阵也可以通过concatenatef方法进行合并。
Np.concatenate((a1,a2),axis=0)相当于Np。v栈((A1,A2)) NP。Concatenate ((A1,a2),axis=1)相当于np.hstack((a1,A2))通过函数创建矩阵。
阿兰格
linspace/logspace
1、0、眼、空
一创建全1矩阵,零创建全0矩阵,眼创建单位矩阵,空创建空矩阵(实际有价值)
mg-caption">
fromstring
fromstring()方法可以将字符串转化成ndarray对象,需要将字符串数字化时这个方法比较有用,可以获得字符串的ascii码序列。
random
fromfunction
fromfunction()方法可以根据矩阵的行号列号生成矩阵的元素。 例如创建一个矩阵,矩阵中的每个元素都为行号和列号的和。
矩阵的运算
常用矩阵运算符
Numpy中的ndarray对象重载了许多运算符,使用这些运算符可以完成矩阵间对应元素的运算。
运算符说明+矩阵对应元素相加-矩阵对应元素相减*矩阵对应元素相乘/矩阵对应元素相除,如果都是整数则取商%矩阵对应元素相除后取余数**矩阵每个元素都取n次方,如**2:每个元素都取平方
常用矩阵函数
同样地,numpy中也定义了许多函数,使用这些函数可以将函数作用于矩阵中的每个元素。 表格中默认导入了numpy模块,即 import numpy as np 。a为ndarray对象。
常用矩阵函数说明np.sin(a)对矩阵a中每个元素取正弦,sin(x)np.cos(a)对矩阵a中每个元素取余弦,cos(x)np.tan(a)对矩阵a中每个元素取正切,tan(x)np.arcsin(a)对矩阵a中每个元素取反正弦,arcsin(x)np.arccos(a)对矩阵a中每个元素取反余弦,arccos(x)np.arctan(a)对矩阵a中每个元素取反正切,arctan(x)np.exp(a)对矩阵a中每个元素取指数函数,exnp.sqrt(a)对矩阵a中每个元素开根号
当矩阵中的元素不在函数定义域范围内,会产生RuntimeWarning,结果为nan(not a number)
矩阵乘法(点乘)
矩阵乘法必须满足矩阵乘法的条件,即第一个矩阵的列数等于第二个矩阵的行数。 矩阵乘法的函数为 dot 。
矩阵的转置 a.T
矩阵的转置还有更简单的方法,就是a.T。
矩阵的逆
设A是数域上的一个n阶方阵,若在相同数域上存在另一个n阶矩阵B,使得: AB=BA=E。 则我们称B是A的逆矩阵,而A则被称为可逆矩阵。
求矩阵的逆需要先导入numpy.linalg,用linalg的inv函数来求逆。矩阵求逆的条件是矩阵应该是方阵。
矩阵信息获取
(如均值等)
最值
获得矩阵中元素最大最小值的函数分别是max和min,可以获得整个矩阵、行或列的最大最小值。
形状处理
改变数组的形状
数组的形状可以用以下方式改变。注意,下面的三个命令都返回一个修改后的数组,但不改变原始数组:
整形函数用修改的形状返回它的参数,而NDARRA.ReSIZE方法修改数组本身:如果在整形操作中给出尺寸为-1,则其他尺寸自动计算:
曼德勃罗
以上就是小编总结的Numpy基础,希望可以帮到大家,获取更多资料教程可评论转发后私信小编111免费领取!