NO.3_1:自学python之路------番外:第三方库安装、numpy
引言
Python因为pip的存在,使得第三方库的发布和获取都比较方便。并且Python对跨平台的支持,使得其相较于C++,Java更加方便使用。在本文中,将会介绍在Windows中安装第三方库的方法,并简单介绍对Tensorflow的使用有着比较重要的库numpy。
numpy为Python提供了多维数组对象,使得Python中的数组可以像Matlab一样方便使用,并且numpy支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
正文
安装
由于对Linux不熟悉,暂时所有的工作都在Windows平台上完成。所以这里将介绍Python的安装及第三方库的安装方法。
安装Python:
1.百度搜索Python,进入Python的官方网页。
2.选择你所需要的Python版本进行安装,2.X版本,或者3.X版本。
3.打开,下一步,下一步……注意勾选一个自动设置环境变量,如果没有点到也没有关系,记住安装的路径。下面将介绍Windows下Python环境变量的设置。
环境变量
配置Python环境变量:
1.在我的电脑右键——属性——高级系统设置——环境变量。如果桌面上没有我的电脑,请打开文件资源管理器,在左侧中寻找。
2.在系统环境变量中选择Path项——然后点添加——分别将Python的安装路径和根目录下的Scripts文件添加到环境变量中。如本人的路径是:C:\Program Files\Python36\和C:\Program Files\Python36\Scripts\
这样就完成了环境变量的设置,这时可以打开CMD(找不到可以点运行——输入cmd)或者Windows PowerShell(在开始图标右键)。输入python回车,若已设置好就会进入Python。
三方库
安装第三方库通常有两种方法(其实是只会两种,咳咳)。第一种比较简单,但是需要电脑能链接到外部的网络。由于我是使用校园网,所以可以很方便的使用第一种方法。
第一种方法,pip:
1.常用的第三方库都可以在PyPI中搜索得到。这里用numpy举例。在PyPI中搜索numpy。
2.下拉后发现多种不同版本的numpy,选择需要的。如本人就选择了numpy-1.14.1-cp36-none-win_amd64.whl (md5, pgp)
3.下载后不用着急打开,将文件移动到Python安装目录下的Scripts文件夹下。如C:\Program Files\Python36\Scripts\
4.打开CMD或者Windows PowerShell,然后输入pip3.6 install 下载的文件的路径+文件名。这里需要提醒一下,由于我的Python安装路径中有空格,CMD无法识别路径。还好在Windows中可以使用C:\Progra~1\来代替C:\Program Files\。所以只需要输入:
pip3.6 install C:\Progra~1\Python36\Scripts\numpy-1.14.1-cp36-none-win_amd64.whl
然后等待下载安装完成,就成功的安装好了第三方库。如果第一种方法不可行,也不要着急,可以使用下面的方法。
第二种方法:
2.下拉,找到完整安装包numpy-1.14.1.zip (md5, pgp)。
3.解压,并记住解压到的路径。如D:\numpy-1.14.1\numpy\
4.打开CMD或者Windows PowerShell,输入cd 刚才的路径。如:
cd D:\numpy-1.14.1\numpy\
5.这时就转移到安装包的路径中了。然后在CMD或者Windows PowerShell中输入:
python setup.py install
就可以完成安装了,如果报错可以试着打开Windows PowerShell(管理员)或者管理员运行CMD尝试4,5步。如果还不行,我也不会了。
安装完成后可以在CMD或者Windows PowerShell中进入Python。然后输入:
import numpy#也可以是你安装的其他库
回车后看是否报错。不报错即为安装成功。
numpy
当使用第三方库时,都要在程序的开头导入文件,而往往有些库名比较长而且复杂,虽然现在绝大多数IDE都有自动填写的功能,但是仍可以用简写来方便调用。例子:
import numpy as np
定义向量和矩阵的方法,例子:
import numpy as np vector = np.array([1,2,3,4,5,6])
matrix = np.array([[1,2,3],[4,5,6]])
同时还提供了多种初始化向量的方法,例子:
import numpy as np data_1 = np.arange(10)#生成0~9的向量
data_2 = np.arange(5,20,0.5)#括号中分别为(起始值,终止值,间隔)
data_3 = np.linspace(10,30,10)#括号中分别为(起始值,终止值,参数个数)
初始化矩阵也有很多手段,例子:
import numpy as np #向量转换法,转换时个数不匹配会报错
data_1 = np.arange(10).reshape(2,5)#生成0~9的2*5的矩阵
data_2 = np.arange(10)#生成0~9的向量
data_2.shape = (2,5)#转换为2*5的矩阵 #直接定义法
data_3 = np.zeros((3,4))#输入是元组,生成3行4列的0矩阵,默认float型
data_4 = np.ones((3,4),dtype=np.int)#生成3行4列的int型1矩阵
data_5 = np.random.random((3,4))#生成3行4列取值-1~1之间的矩阵
建立完,就需要学习数组间的操作了。数组的切片选取与Matlab类似。主要需要学会冒号的用法。[a:b]是指取从a开始到b所有的参数。当a,b都不填时,即[:]是指取全部数据,只填a,是从a到结束。只填b类似。[::2]是指间隔为2,选取参数,即[开始:结尾:间隔]。例子:
import numpy as np matrix = np.arange(25).reshape(5,5)#生成5*5的矩阵 number_1 = matrix[1,4]#取矩阵中第2行,第5列的数
number_2 = matrix[:,0]#取矩阵中第1列的数
数组的赋值。例子:
import numpy as np matrix = np.arange(25).reshape(5,5)#生成5*5的矩阵 matrix[0,0] = 100#赋值 matrix_new = matrix#浅赋值,会一同改变
matrix_new = matrix.view()#浅复制
matrix_new = matrix.copy()#深复制
matrix_new = np.tile(matrix,2)#复制一次matrix并列合并
一些常用操作,例子:
import numpy as np matrix = np.arange(25).reshape(5,5)#生成5*5的矩阵 matrix.argmax()#返回最大值
matrix.argmax(axis=0)#返回各列最大值的位置
matrix.argmax(axis=1)#返回各行最大值的位置 matrix.T#转置矩阵
matrix.ravel()#转为向量 matrix.shape#返回(行,列)可以用来debug
matrix.ndim#返回矩阵维度
matrix.size#返回参数个数
matrix.dtype#返回参数类型,注numpy中所有的参数类型都必须相同,否则会自动转换
常用运算,例子:
import numpy as np matrix_a = np.arange(25).reshape(5,5)#生成5*5的矩阵
matrix_b = np.random.random((5,5))#生成5*5的矩阵 np.floor(matrix_b)#返回矩阵中各个元素向下取整的矩阵 matrix_a - matrix_b#对应元素相减
matrix_a - 1#全部元素减1
matrix_a**2#全部元素平方
matrix_a > 25#返回相同形状矩阵,对应位置分别为true和false
matrix_a*matrix_b#对应元素相乘
np.dot(matrix_a,matrix_b)#矩阵乘法
作业
安装numpy及会使用的第三方库。
后记
这里举出的方法可能不够全面,numpy是一个功能强大的库。本人将在后面的学习中不断更新扩展numpy的介绍。
NO.3_1:自学python之路------番外:第三方库安装、numpy的更多相关文章
- Python之路番外:PYTHON基本数据类型和小知识点
Python之路番外:PYTHON基本数据类型和小知识点 一.基础小知识点 1.如果一行代码过长,可以用续行符 \换行书写 例子 if (signal == "red") and ...
- Python之路番外(第二篇):PYTHON基本数据类型和小知识点
一.基础小知识点 1.如果一行代码过长,可以用续行符 \换行书写 例子 if (signal == "red") and \ (car == "moving") ...
- Python之路番外(第三篇):Pycharm的使用秘籍
版本:Pycharm2017.3.4Professional Edition 一.Pycharm的基本使用1.在Pycharm下为你的python项目配置python解释器 file --settin ...
- NO.3:自学python之路------集合、文件操作、函数
引言 本来计划每周完成一篇Python的自学博客,由于上一篇到这一篇遇到了过年.开学等杂事,导致托更到现在.现在又是一个新的学期,春天也越来越近了(冷到感冒).好了,闲话就说这么多.开始本周的自学Py ...
- 自学Python之路
自学Python之路[第一回]:初识Python 1.1 自学Python1.1-简介 1.2 自学Python1.2-环境的搭建:Pycharm及python安装详细教程 1.3 ...
- 自学Python之路-Python核心编程
自学Python之路-Python核心编程 自学Python之路[第六回]:Python模块 6.1 自学Python6.1-模块简介 6.2 自学Python6.2-类.模块.包 ...
- 自学Python之路-Python基础+模块+面向对象+函数
自学Python之路-Python基础+模块+面向对象+函数 自学Python之路[第一回]:初识Python 1.1 自学Python1.1-简介 1.2 自学Python1.2-环境的 ...
- 自学Python之路-django
自学Python之路-django 自学Python之路[第一回]:1.11.2 1.3
- 自学Python之路-Python并发编程+数据库+前端
自学Python之路-Python并发编程+数据库+前端 自学Python之路[第一回]:1.11.2 1.3
随机推荐
- jQuery放大镜插件
(function($) { $.fn.magnifier = function(options){ var options = $.extend({ bigWidth: 400, //大图高度 bi ...
- ls: Call From hdoop2/192.168.18.87 to hdoop2:8020 failed on connection exception: java.net.ConnectException: 拒绝连接; For more details see
场景: 预发环境中,同事已经搭建了一套hadoop集群,由于版本与所需不符,所以需要替换版本 问题描述: 在配置文件都准确的情况下,启动hadoop,出现以下报错: 启动之前初始化: 初始化目录 ...
- JDK(十)JDK1.7&1.8源码对比分析【集合】ConcurrentHashMap
前言 在JDK1.7&1.8源码对比分析[集合]HashMap中我们对比分析了JDK1.7和1.8版本的HashMap源码,趁热打铁,这篇文章就来看看JDK1.7和1.8版本的Concurre ...
- 学记笔记 $\times$ 巩固 · 期望泛做$Junior$
最近泛做了期望的相关题目,大概\(Luogu\)上提供的比较简单的题都做了吧\(233\) 好吧其实是好几天之前做的了,不过因为太颓废一直没有整理-- \(Task1\) 期望的定义 在概率论和统计学 ...
- RabbitMQ如何保证发送端消息的可靠投递
消息发布者向RabbitMQ进行消息投递时默认情况下是不返回发布者该条消息在broker中的状态的,也就是说发布者不知道这条消息是否真的抵达RabbitMQ的broker之上,也因此会发生消息丢失的情 ...
- 安装MySQL56时,停止在start service这一步
问题: 在安装MySQL56时,安装程序执行到start service这一步就不能完成,系统一直提示“安装时间比预期的的长,是否停止安装这一步(configuration of mysql seve ...
- koa2实现简单的图片上传
1.安装koa-body 2.引入koa-body const koa = require('koa'); const fs = require('fs'); const koaBody = requ ...
- aps.net mvc webapi 实现文件或图片上传
前几天看到网上有很多复杂的实现方式,觉得没必要,所以就写个简单的实现. 一:首先来看看Api Controller里面的代码: HttpContext.Current.Request.Files 这 ...
- laravel 5.5 《电商实战 》安装应用
最近开始接触电商业务.公司打算采用lavarel做后端的开发,出于学习成本和时间的考虑.自己找到了一个不错的收费教程.这段时间会同步更新,分享自己的学习过程. 自己的开发环境,mac+nginx+my ...
- maven tomcat plugin 踩坑记
今天在自己家里的电脑上改一个项目,安装的是社区版的 IntelliJ Idea, 没有办法安装 Tomcat 插件来启动项目.尝试用 jettry runer 启动,结果报 java.lang.Inc ...