以前总认为Numpy是渣渣,直到深入接触以后才知道功能这么强大。堪比Matlab啊。果然是人生苦短,我用Python。所以本文作为一个记录&笔记,文章内容大多数取自网络以&官网快速入门等,希望可以帮助大家快速入门Numpy。如果你有Matlab基础,那么你能很快看懂本文!(私信小编007即可获取Python视频教程以及各类PDF!)
一个栗子
创建矩阵对于Python中的numpy模块,一般用其提供的ndarray对象。创建一个ndarray对象很简单,只要将一个list作为参数即可。例如:
矩阵行数列数矩阵按行列选取矩阵的截取和list相同,可以通过[](方括号)来截取矩阵按条件截取
按条件截取应用较多的是对矩阵中满足一定条件的元素变成特定的值。例如将矩阵中大于6的元素变成0
Stackingtogetherdifferentarrays矩阵的合并可以通过numpy中的hstack方法和vstack方法实现:
矩阵的合并也可以通过concatenatef方法np.concatenate((a1,a2),axis=0)等价于np.vstack((a1,a2))np.concatenate((a1,a2),axis=1)等价于np.hstack((a1,a2))通过函数创建矩阵
arange
linspace/logspace
ones、zeros、eye、emptyones创建全1矩阵,zeros创建全0矩阵,eye创建单位矩阵,empty创建空矩阵(实际有值)
Numpy基础,一位Python大神的笔记,看了后我连Matlab都学会了!
fromstringfromstring()方法可以将字符串转化成ndarray对象,需要将字符串数字化时这个方法比较有用,可以获得字符串的ascii码序列。randomfromfunctionfromfunction()方法可以根据矩阵的行号列号生成矩阵的元素。例如创建一个矩阵,矩阵中的每个元素都为行号和列号的和。
矩阵的运算
常用矩阵运算符Numpy中的ndarray对象重载了许多运算符,使用这些运算符可以完成矩阵间对应元素的运算。运算符说明+矩阵对应元素相加-矩阵对应元素相减*矩阵对应元素相乘/矩阵对应元素相除,如果都是整数则取商%矩阵对应元素相除后取余数**矩阵每个元素都取n次方,如**2:每个元素都取平方
常用矩阵函数同样地,numpy中也定义了许多函数,使用这些函数可以将函数作用于矩阵中的每个元素。表格中默认导入了numpy模块,即importnumpyasnp。a为ndarray对象。
矩阵的转置a.T
矩阵的转置还有更简单的方法,就是a.T。
矩阵的逆设A是数域上的一个n阶方阵,若在相同数域上存在另一个n阶矩阵B,使得:AB=BA=E。则我们称B是A的逆矩阵,而A则被称为可逆矩阵。求矩阵的逆需要先导入numpy.linalg,用linalg的inv函数来求逆。矩阵求逆的条件是矩阵应该是方阵。
矩阵信息获取(如均值等)最值获得矩阵中元素最大最小值的函数分别是max和min,可以获得整个矩阵、行或列的最大最小值。
形状处理改变数组的形状
数组的形状可以用以下方式改变。注意,下面的三个命令都返回一个修改后的数组,但不改变原始数组:
整形函数用修改的形状返回它的参数,而NDARRA.ReSIZE方法修改数组本身:如果在整形操作中给出尺寸为-1,则其他尺寸自动计算:曼德勃罗
领取专属 10元无门槛券
私享最新 技术干货