2-01 NumPy 介绍、安装与加载

2.1 NumPy 介绍、安装与加载
NumPy 是的缩写,NumPy 为开放源代码并且由许多协作者共同维护开发,是语言的一个扩展程序库,支持机器学习中常用的数据结构,如多维度数组、向量 ()、矩阵 ()、 张量()等,进行高效的操作,也针对数组运算提供大量的数学函数库 。
NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:
NumPy 通常与 SciPy( )和 (绘图库)一起使用, 这种组合广泛用于替代 ,是一个强大的科学计算环境,有助于我们通过学习数据科学或者机器学习 。SciPy 是一个开源的算法库和数学工具包,SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算 。是的可视化操作界面包,它为利用通用的图形用户界面工具包,如 , , Qt 或 GTK+ 等应用程序嵌入式绘图提供了应用程序接口(API) 。
NumPy 安装
在进行 NumPy 安装前,先来介绍的两个重要的包管理工具: 是的基础包工具,可以帮助我们轻松的下载,构建,安装,升级,卸载的软件包;pip 是的软件包的安装和管理工具 。使用者透过 pip 下达指令,而真正运行下载或安装动作的是这个工具 。
pip 是for的缩写,提供了对包的查找、下载、安装、卸载的功能,而查找的网站是Index (),会根据 pip 的指令找到相对应的包的版本 。原则上2.7.9 + 或3.4+ 以上版本都自带 pip 工具 。你可以通过以下命令来判断是否已安装:
pip --version# Python2.x 版本命令pip3 --version# Python3.x 版本命令
若没有可以手动安装,在控制台中运行底下命令
# 下载 pip 原始套件,https://bootstrap.pypa.io/get-pip.pypython get-pip.py# 以上命令会自动安装 setuptools 跟 wheel (setuptools的延伸工具) 这两个工具,如果不要安装的话可以用 --no-setuptools, --no-wheel 这两个选项来运行
虽然大多数网站都会说明 pip 是针对 ,pip3 是针对,但主要还是针对系统所安装的版本以及设定而定,以本系统而言,因为有安装3.7 与 2.7 所以执行的结果,显示是相同的 。如下图,可以看出 pip 的版本是 20.2.4 , 的版本是 3.7,在此补充说明一下版本的定义,第一个数字,称为主要版次 (Major),第二个数字,称为次要版次 (Minor),第三个数字,称为更新 () 或是补丁 (patch) 次数 。
圖 2-1-1 检查 pip 是否安装及版本
pip 的语法结构如下,后接命令 () 与选项 (),常见的命令就是 , , list, , help等,常见的选项如 --, --user 等 。
pip [options]
以下介绍 pip 常用的命令 。
# 显示版本和路径pip --version# 获取帮助pip --help# 安装包pip install SomePackage# -i 指定特定镜像站来安装包,以下是清华大学开源软件镜像站pip install -i https://pypi.tuna.tsinghua.edu.cn/simple SomePackage# 设定以后的安装镜像站为是清华大学开源软件镜像站,这样就不用每次都指定了pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple# 升级包 pip,升级指定的包,通过使用==, >=, <=, >, < 来指定一个版本号,不指定就是最新版 。pip install -U SomePackage==x.y.zpip install --upgrade SomePackage==x.y.z# Windows 平台升级python -m pip install -U pip# 卸载包pip uninstall SomePackage# 搜索包pip search SomePackage# 显示安装包信息pip show SomePackage# 查看指定包的详细信息,表示未安装也可以,可以看完再决定是否安装pip show -f SomePackage# 列出已安装的包pip list# 查看可升级的包pip list -o
在安装 NumPy 之前,需要了解目前的环境,假如是在网络状况比较不好的地区,建议先设定地区镜像站或是加长套件下载的时间;接着是安装套件包时,会根据目前的平台,的版本,安装包的版本,在安装镜像站中找寻是否有已经编译好的包,如果有就直接下载包 (whl) ,如果没有就会下载 (tgz) 的原码后再编译成可以读取的包 。下图为镜像站中的套件列表,以 -4.4.0.44-cp37-cp37m-.whl 来说明,指扩展库名,4.4.0.44 是扩展库的版次,cp37指适配的版本,是电脑操作系统位数 。