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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【AI自媒体制作】【AI工具】天工AI

链接:天工AI 目前chatgpt3.5已经免费,很多AI平台都可以进行一定层度的白嫖,对于个人开发者是一件好事,有些会员就没必要充值了。 天工AI是比较常见的AI工具了,可以识别图片、智能问答、生成图片等。当然对于一个程序员…

【Linux】git

大家好,我是苏貝,本篇博客带大家了解Linux的编译器-gcc/g,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 1.安装git2.在gitee上创建仓库3.首次配置4.下载仓库到本地5.三板斧6.git log7.gi…

【数据结构】二叉爆炸

【数据结构】二叉爆炸 按照惯例整点抽象的,贴上这篇博客的名字由来: 言归正传,本篇博客介绍二叉树的构造方式、前中后序遍历、层序遍历以及代码随想录中二叉树章节的相关题目: 代码随想录 (programmercarl.com) 一、啥是二叉树 …

HDMI to TYPE-C芯片|HDMI2.0转TYPE-C转接器方案|CS5802设计方案|ASL CS5802

CS5802输入端可以是1080P、4K30、4K60HZ这三种规格,输出的接口可以是TYPE-C信号接口,或者是TYPE-C信号接口,输入端HDMI由4路信号组成,支持1.62Gbps、2.7Gbps、5.4Gbps链路速率。内置可选SSC功能可降低EMI的干扰状况。 ASL CS5802芯片概述: 符合HDMI规范…

04节-51单片机-数码管模块

1.静态数码管显示 LED数码管:数码管是一种简单、廉价的显示器,是由多个发光二极管封装在一起组成“8”字型的器件 下图展示了数码管的线路连接 数码管的连接方式分为,公共端,共阴极和共阳极连接: 多个数码管共用引…

IMUGNSS 误差状态卡尔曼滤波器(ESKF)的离散时间的ESKF 运动方程与运动过程

IMU&GNSS 误差状态卡尔曼滤波器(ESKF)的离散时间的ESKF 运动方程与运动过程 离散时间的ESKF 运动方程ESKF的运动过程 离散时间的ESKF 运动方程 名义状态变量的离散时间运动方程可以写为:(不用考虑噪声,噪声在误差…

701强连通分量(python)

看见题目知道时间复杂度不超过(mlogm)。 这题用强连通分量 Tarjan 算法,强联通:对于任意两个点u和v,u可以到达v,v也可以到达u。这题需要考虑有重边,自环,同样别忘记可能会有两个点u…

[阅读笔记20][BTX]Branch-Train-MiX: Mixing Expert LLMs into a Mixture-of-Experts LLM

这篇论文是meta在24年3月发表的,它提出的BTX结构融合了BTM和MoE的优点,既能保证各专家模型训练时的高度并行,又是一个统一的单个模型,可以进一步微调。 这篇论文研究了以高效方法训练LLM使其获得各领域专家的能力,例如…

idea项目启动异常:Command line is too long.

项目场景: 提示:这里简述项目相关背景: idea中启动项目报错: 解决方案 在idea 的运行配置中,修改enviroment下的shorten command line 为jar manifest 注: 有时shorten command line 可能不是默认存在的…

Linux实验一:NAT、桥接方式的验证

实验名称:在虚拟机中安装RHEL7,验证NAT、桥接上网方式 实验结果: 创建虚拟机 NAT模式 自动获取IP 手动配置IP 桥接模式 自动获取IP 手动配置IP 总结和分析:

我与C++的爱恋:类和对象(四)

​ ​ 🔥个人主页:guoguoqiang. 🔥专栏:我与C的爱恋 ​ 朋友们大家好!本篇是类和对象的最后一个部分。 一、static成员 声明为static的类成员称为类的静态成员,用static修饰的成员变量,称之…

[阅读笔记29][AgentStudio]A Toolkit for Building General Virtual Agents

这篇论文是24年3月提交的,提出了一个用于agent开发的全流程工具包。 作者提到目前agent开发主要有两个阻碍,一个是缺乏软件基础,另一个是缺乏在真实世界场景中进行评估。针对这两个阻碍,作者涉及了一个开发工具包,包括…

使用立创EDA打开JSON格式的PCB及原理图

一、将PCB和原理图放同一文件夹 并打包成.zip文件 二、打开嘉立创EDA并导入.zip文件 文件 -> 导入 -> 嘉立创EDA标准版/专业版 三、选择.zip文件并选择 “导入文件并提取库” 四、自定义工程路径 完成导入并转换为.eprj文件 五、视频教学 bilibili_使用立创EDA打开JSO…

NLP预训练模型-GPT-3

ChatGPT GPT-3是OpenAI开发的一个自然语言处理(NLP)预训练模型。GPT代表“生成式预训练变换器”(Generative Pretrained Transformer)。GPT-3是GPT系列的第三代模型,是一种采用了深度学习技术的强大语言模型&#xff…

驱动开发-windows驱动设计目标

驱动程序和应用程序不一样的,由于其直接运行于windows r0级,故对于开发有更多和更严格的标准,一般会有以下一些常见的设计目标: 安全性、可移植性、可配置性、 可被中断、多处理器安全、可重用 IRP、 支持异步 I/O这些是基本目标。 1. 安全…

【Numpy】对于 Numpy 中 Axis 的理解

文章目录 前言理解轴的两个角度在维度变化方向上计算降维 示例剖析写在最后 前言 Numpy 是 Python 中一个常用科学计算库,常用来表示向量、矩阵以及多维度数组。在 Numpy 中多对某一个维度(轴)进行相应的操作,这一点经常出错。今…

再论图像变化和频率的关系。

我之前是做了一些探讨,但是没说清楚,现在再看这个问题。 我先提出这个问题。 以以为点列为例,先写成傅里叶级数的形式,不过这里不是三角函数形式,而是指数形式,是一样的。 对f(n)求导,就可以观…

【大语言模型LLM】-使用大语言模型搭建点餐机器人

关于作者 行业:人工智能训练师/LLM 学者/LLM微调乙方PM发展:大模型微调/增强检索RAG分享国内大模型前沿动态,共同成长,欢迎关注交流… 大语言模型LLM基础-系列文章 【大语言模型LLM】-大语言模型如何编写Prompt?【大语言模型LL…

C语言—字符指针,指针数组和数组指针详解

字符指针 在指针的类型中我们知道有一种指针类型为字符指针 char* ; int main() {char ch w;char *pc &ch;*pc w;return 0; }还有一种使用方式如下: int main() {const char* pstr "hello world.";//这里是把一个字符串放到pstr指针变量里了吗…

chrome浏览器查看css样式

样式的查看 1.匹配器为灰色文本: 表示非当前选择器 2.样式有划线标识:CSS属性无效或未知 / 属性值无效 / 被其他属性覆盖的属性 3.属性以浅色文本显示且有感叹号提示:属性虽然有效,但由于CSS逻辑而没有任何影响 转自:…