在python中使用numpy
主要内容:
1.numpy简介
2.windows下在python2.7.12中安装numpy
3.numpy应用举例
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1.numpy简介
NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。据说NumPy将Python相当于变成一种免费的更强大的MatLab系统。(来自百度百科)
2.windows下在python2.7.3中安装numpy
我的安装环境为32位win7系统,python2.7.12
numpy下载地址:https://sourceforge.net/projects/numpy/files/NumPy/ ,我下载的版本为numpy-1.8.2-win32-superpack-python2.7.exe
scipy下载地址:https://sourceforge.net/projects/scipy/files/scipy/ ,下载版本为scipy-0.14.0-win32-superpack-python2.7.exe
matplot下载地址:https://sourceforge.net/projects/matplotlib/files/matplotlib/ ,下载版本为matplotlib-1.4.3.win32-py2.7.exe
下载完成后直接双击安装,程序会自动找到python的安装位置,安装到相应路径下。
3.numpy应用举例
1 #coding:utf-8 2 # ------------------------------------------------------------ 3 # 简介 : 机器学习基础 numpy 4 # 5 # 更新 : 2015年1月7日 6 # ------------------------------------------------------------ 7 from numpy import random 8 from numpy.matrixlib.defmatrix import mat 9 from numpy.lib.twodim_base import eye 10 #4*4随机数组 11 random.rand(4,4) 12 #数组转矩阵 13 randmat=mat(random.rand(4,4)) 14 print(randmat) 15 #.I专为逆矩阵 16 print(randmat.I) 17 randmatv=randmat.I 18 #矩阵和逆矩阵相乘,对角为1 其他为0 -eye(4)为单位矩阵 相减后看到有误差 19 print(randmat*randmatv-eye(4))
第7,8,9行为后续random、mat和eye函数加载相应模块,执行结果如下所示:
正常矩阵和其逆矩阵相乘就应该得到对角为1的单位矩阵,但是这里是随机生成的小数,因此其逆矩阵无法完全转化,所以相乘后会有误差。