Python --- 在python中安装NumPy,SciPy,Matplotlib以及scikit-learn(Windows平台)

在python中安装NumPy,SciPy,Matplotlib以及scikit-learn(Windows平台)

        本文是针对(像我一样的)python新用户所写的,刚刚在电脑上装好python之后,所需的一些常见/常用的python第三方库/软件包的快速安装指引。包括了这些常用安装包的简介,安装方法,下载链接,和使用说明等。有点类似于,你刚刚在电脑上装好了windows系统以后,一些常用装机软件的相关说明。大家安装的时候最好按照我文章中的安装顺序去装,因为有些后面的库都依赖于前者。

1, NumPy

        NumPy是Python的一个最常用最基本的扩展程序库之一,主要用于矩阵运算或数组计算。很多其他的python库都要依赖于NumPy才能跑。

NumPy的发展史:

Matrix-sig

        1995年,特殊兴趣小组(Special Interest Group,SIG)Matrix-sig成立,其目的是设计一个数组计算包。Matrix-sig的成员中有Python的发明人吉多 范罗苏姆(Guido van Rossum),他扩展了Python的语法(特别是索引语法),使数组计算更容易。

Numeric

        矩阵计算包由Jim Fulton实现,并由Jim Hugunin推广,被称为Numeric (也称Numerical Python extensions或 NumPy)。现已弃用。其中,Jim Hugunin 是麻省理工学院 (MIT) 的研究生,[8]: 10  于 1997 年加入国家研究计划公司 (CNRI),从事 JPython 工作。

Numarray

        Numarray是作为Numeric的替代品被开发出来的,与 Numeric 一样,它现在也已被弃用。Numarray 对于大型数组的操作速度更快,但在小型数组上的操作速度比 Numeric 慢,因此有一段时间这两个包被并行使用于不同情况。Numeric的最后一个版本(v24.2)于2005年11月11日发布;Numarray的最后一个版本(v1.5.2)于2006年8月24日发布。

曾经有人希望将Numeric纳入Python标准库,但吉多·范罗苏姆认为,在当时的情况下,代码难以维护。

NumPy

2005年初,NumPy的开发者Travis Oliphant希望社区的不同数组包可以统一。他将Numarray的功能移植到Numeric上,并于2006将结果作为NumPy 1.0发布。这个新项目是SciPy的一部分。为了避免在只需数组计算的情况下安装庞大的SciPy包,新包以NumPy的名义被分离出来。2011年,NumPy的1.5.0版本加入了对Python 3的支持。由此看来,NumPy确实是更专注于矩阵运算。

安装NumPy:

安装官网的说明如法炮制,复制粘贴:

pip install numpy

大概了你会发现,速度非常慢。。。甚至出现time out的错误。 

 然后,我查询了一下“资料”,选择了第一种用法,成功,而且下载速度非常快。

复制粘贴,over: 

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy

NumPy使用手册:

NumPy user guide — NumPy v1.26 Manualicon-default.png?t=N7T8https://numpy.org/doc/stable/user/index.html#user


By the way,顺便说一句,因为安装这个东西,我还顺带发现了一个宝藏网站:
https://mirrors.tuna.tsinghua.edu.cn/

 这个里面什么东西都有,得。。。。。

后面我们安装其他python工具包/扩展库得时候,还得用到这个镜像。


2, SciPy

        SciPy是一个需要依赖于NumPy的较为全面和完整的Python科学计算库(毕竟他依赖于Numeric的前身Numeric)。SciPy包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。

SciPy的发展史:

        在1990年代,Python引入了用于数值计算的阵列类型Numeric(这个包最终被Travis Oliphant编写的NumPy取代);此后,随着被用于不同科学领域的扩展模块的数量越来越多,人们对一个能够囊括尽可能多的一站式科学技术库的渴求也愈发强烈。2001年,Travis Oliphant、Eric Jones和Pearu Peterson合并了他们编写的代码,并将这个合并后的包命名为SciPy。

安装SciPy: 

        和NumPy的安装一样,根据官方的说明,可以直接在Python中输入如下命令,系统就会自行下载并安装。

 输入如下命令进行安装,结果碰到了和安装NumPy一样的问题,下载速度非常慢:

python -m pip install scipy

如法炮制的使用清华大学的镜像: 

python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scipy

SciPy使用手册:

 SciPy documentation — SciPy v1.13.0 Manualicon-default.png?t=N7T8https://docs.scipy.org/doc/scipy/


3, Matplotlib

        根据wiki里面的这句长难句英语,matplotlib是一个plotting library,即,绘图的。且这个绘图的库是面向Python和依赖于NumPy的。

        这是官网中的自我介绍,看得出来visualization正是Matplot的重点,也就是可视化,用大白话说就是画图。

例如:

安装Matplotlib:

pip install matplotlib

 如果下载网速慢,推荐使用清华代理链接:

python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib

        感觉很多基于python的三方库都可以通过这种方式下载,只要把后面的"matplotlib"换成你需要下载的软件即可。

Matplotlib使用手册:

Tutorials — Matplotlib 3.8.3 documentationicon-default.png?t=N7T8https://matplotlib.org/3.8.3/tutorials/index.html

Using Matplotlib — Matplotlib 3.8.3 documentationicon-default.png?t=N7T8https://matplotlib.org/3.8.3/users/index.html


 

 4, scikit-learn

        

        如果你是准备用python来做机器学习的,那这个库你肯定要用到。Scikit-learn(他的前身是scikits.learn,也叫sklearn)是基于Python的免费开源机器学习库。它包含了各种分类、回归和聚类算法,包括多层感知器、支持向量机、随机森林、梯度提升、k-平均聚类和DBSCAN,它依赖于Python的数值库NumPy,科学库SciPy和可视化库Matplotlib

Scikit-learn的发展史:


        scikit-learn计划开始于scikits.learn,它是David Cournapeau的Google编程之夏计划。它的名字来源于成为“SciKit”(SciPy工具箱)的想法,即一个独立开发和发行的第三方SciPy扩展包。最初的代码库被其他开发者重写了。在2010年,来自法国罗康库尔的法国国家信息与自动化研究所的Fabian Pedregosa、Gael Varoquaux、Alexandre Gramfort和Vincent Michel,领导了这个项目并在2010年2月1日进行了首次公开发行。在各种scikit中,scikit-learn和scikit-image截至2012年11月是“良好维护和流行的”。Scikit-learn是在GitHub上最流行的机器学习库之一。

安装Scikit-learn

pip install -U scikit-learn

我这边用官方的下载链接效果/速度还可以: 

实在不行的话,依然可以选择清华的镜像:

python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scikit-learn

我这边因为之前已经安装好了,所以只是试了一下上面的这个安装命令。 

scikit-learn的使用手册:

User guide: contents — scikit-learn 1.4.2 documentationUser Guide: Supervised learning- Linear Models- Ordinary Least Squares, Ridge regression and classification, Lasso, Multi-task Lasso, Elastic-Net, Multi-task Elastic-Net, Least Angle Regression, LA...icon-default.png?t=N7T8https://scikit-learn.org/stable/user_guide.html


 (全文完)

作者 --- 松下J27 

参考文献(鸣谢):

1,https://en.wikipedia.org/wiki/Guido_van_Rossum

2,https://zh.wikipedia.org/wiki/NumPy 

3,https://zh.wikipedia.org/wiki/Matplotlib

4,https://zh.wikipedia.org/wiki/SciPy

5,NumPy user guide — NumPy v1.26 Manual

6,SciPy -

7,Matplotlib — Visualization with Python

8,scikit-learn: machine learning in Python — scikit-learn 1.4.2 documentation

9,https://zh.wikipedia.org/wiki/Scikit-learn

(配图与本文无关)

版权声明:文中的部分图片,文字或者其他素材,可能来自很多不同的网站和说明,在此没法一一列出,如有侵权,请告知,立即删除。欢迎大家转载,但是,如果有人引用或者COPY我的文章,必须在你的文章中注明你所使用的图片或者文字来自于我的文章,否则,侵权必究。 ----松下J27

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/635990.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Web后端-请求响应

黑马程序员JavaWeb开发教程 文章目录 一、请求1、简单参数2、实体参数3、数组集合参数(1)数组参数(2)集合参数 4、日期参数5、json参数(1)在Postman中怎么发起请求来传递JSON格式的请求参数(2&a…

linux下摄像头设置固定的设备名

目录 2.热插拔udev机制 3.设置udev的规则 1.查看usb ID 2. 查看usb设备的信息 3.编译规则 4.拓展 1.问题的出现 通过我之前的文章配置完摄像头的开机自启动之后我们会发现有的时候会出现启动不了的情况,通过实验我发现是摄像头的设备名发生了改变,…

Git ignore、exclude for TortoiseGit 小结

1.Ignore Type:忽略类型,也即忽略规则,如何去忽略文件? 1.1.Ignore item(s) only in containing folder(s):仅忽略在包含在文件夹中项目。 仅忽略该文件夹下选定的patterns。the patterns其实就是文件类型,比如.txt后…

(四)SQL面试题(连续登录、近N日留存)学习简要笔记 #CDA学习打卡

目录 一. 连续登录N天的用户数量 1)举例题目 2)分析思路 3)解题步骤 (a)Step1:选择12月的记录,并根据用户ID和登录日期先去重 (b)Step2:创建辅助列a_rk…

03 华三交换机的基础配置

用户登录设备后,直接进入用户视图。用户视图下可执行的操作主要包括查看操作、调试操作、文件管理操作、设置系统时间、重启设备、FTP和Telnet操作等。 从用户视图可以进入系统视图。系统视图下能对设备运行参数以及部分功能进行配置,例如配置夏令时、配置欢迎…

Sileo安装插件报错:Depends mobilesubstrate

Sileo安装插件报错 iOS 15.8系统,使用palera1n越狱,然后使用Sileo安装插件的时候,有些插件会报错:Depends mobilesubstrate(比如AppStore plus) 报错的原因分析 从提示信息很容易可以看出,当…

面试(05)————Redis篇

目录 一、项目中哪些地方使用了redis 问题一:发生了缓存穿透该怎么解决? 方案一:缓存空数据 方案二:布隆过滤器 模拟面试 问题二: 发生了缓存击穿该怎么解决? 方案一:互斥锁 方案二&#xff…

JavaWeb-登录校验

会话技术 浏览器使用的是http协议,多次请求间数据是不能共享的,例如我们要去访问用户数据的接口,但这时候用户是否已经登入了呢?是不知道的,为了解决这个问题,于是引入了会话跟踪技术。 会话:…

windows驱动开发-WDM框架(二)

DriverEntry 每个驱动程序必须具有 DriverEntry 例程,用于初始化驱动程序范围的数据结构和资源。 在支持即插即用 (PnP) 的驱动程序中,与所有驱动程序一样,DriverEntry 例程负责驱动程序初始化,而 AddDevice 例程负责设备初始化…

自然语言处理 (NLP) 的技术演变史

一、简述 本文的目标是了解自然语言处理 (NLP) 的历史,包括 Transformer 体系结构如何彻底改变该领域并帮助我们创建大型语言模型 (LLM)。 基础模型(如 GPT-4)是最先进的自然语言处理模型,旨在理解、生成人类语言并与之交互。 要理…

C#语法知识之循环语句

5、循环语句 文章目录 1、while思考1 斐波那契数列思考2 判断一个数是否为质数思考3 找出100以内的质数 2、do...while3、for思考1 找水仙花数思考2 乘法表 1、while 1、作用 让代码重复去执行 2、语法相关 while(bool类型值){//当满足条件时,就会执行while语句…

K8S哲学 - Pod、RC、RS、deployment

pod(最小的可部署单元) 容器组(运行一个或多个容器) Pod(容器组)是Kubernetes 中最小的可部署单元。 一个Pod(容器组)包含了一个应用程序容器(某些情况下是多个容器)、存储资源、 一…