第三天:numpy库
PS:
这个好像是Python2.X版本的使用。
这个课件的numpy的介绍还是太少了,有点凌乱的感觉,要是后面还是要以《利用Python进行数据分析》做numpy和pandas课件笔记比较好。
要学会和掌握,通过实战,但是至少要懂得numpy的方式。
一、numpy(numeric Python)
1.定义:
高效方便的科学计算工具
2.优势:
2.1方便处理向量,矩阵
2.2相比于MATLAB免费
3.简单实用(版本查询)
import numpy as np
np.version.full_version
二、多维数组(homogeneous multidimensional)
1.一维数组
a=np.arange(20)
numpy.ndarray
a=a.reshape(4,5)#这个在《利用Python进行数据分析》算是numpy的高级用法
print(a)
a=a.reshape(2,2,5)#2个数组,2和5是2row,5col
print(a)
2.简单要素描绘
查看维度:
a.ndim
查看维度大小:
a.shape
查看全部的元素个数:
a.size
查看元素类型:
a.dtype
查看元素站位(bytes):
a.dtype
三、创建数组
1.高维数组转换嵌套列表:
raw=[1,2,3,4,5]
a=np.array(raw)
raw=[[0,1,2,3,4],[5,6,7,8,9]]
b=np.array(raw)
2.0数组:
d=(4,5)
np.zeros(d)
3.1数组
d=(4,5)
np.ones(d,dtype=int)
4.随机数组
生成[0,1)区间的随机数数组:
np.random.rand(5)
四、数组操作
1.加减乘除开根(这个的数据处理,必须是两个数组的结构要一致,对应的位置进行处理)
2.生成二维随机数组
a=np.arange(20).reshape(4,5)
3.步长生成:arange(起始,终止,步长)
a=np.arange(2,45,3).reshape(5,3)
4.生成一维数组
np.linspace(0,2,9)
五、数组元素访问
访问:
a=np.array([[3.2,1.5],[2.5,4]])
print(a[0][1])
print(a[0,1])
修改:
a[0][1]=值
广播机制:
1. b=a
a修改
b修改
2. b=a.copy()
a修改
b不修改
取矩阵中的指定列:
a=np.arange(20).reshape(4,5)
print(a[:,[1,3]])#先行后列,这里是指所有行,1,3是指第1列和第3列
筛选:
a[;,2][a[:,0]>5]
查找指定值:
loc=np.where(a==值)
print(loc)
print(a[loc[0][0],loc[1][0]])
六、数组操作
1.矩阵转置
a=np.random.rand(2,4)
a=np.transpose(a)
b=np.random.rand(2,4)
b=np.mat(b)
print(b.T)#转置
2.矩阵求逆
import numpy.linalg as nlg
a = np.random.rand(2,2)
a = np.mat(a)
print ("a:")
print(a)
ia = nlg.inv(a)
print( "inverse of a:")
print (ia)
print ("a * inv(a)")
print (a * ia)
3.求特征值和特征向量
a = np.random.rand(3,3)
eig_value, eig_vector = nlg.eig(a)
print( "eigen value:")
print( eig_value)
print( "eigen vector:")
print(eig_vector)
4.拼接两个向量
1.column_stack函数
a = np.array((1,2,3))
b = np.array((2,3,4))
print np.column_stack((a,b))
2.vstack,hstack函数
a = np.random.rand(2,2)
b = np.random.rand(2,2)
print( "a:")
print (a)
print ("b:")
print (b)
c = np.hstack([a,b])
d = np.vstack([a,b])
print( "horizontal stacking a and b:")
print( c)
print ("vertical stacking a and b:")
print( d)
七、缺失值
a = np.random.rand(2,2)
a[0, 1] = np.nan
print (np.isnan(a))
[[False True]
[False False]]
第三天:numpy库的更多相关文章
- numpy库的学习笔记
一.ndarray 1.numpy 库处理的最基础数据类型是由同种元素构成的多维数组(ndarray),简称“数组”. 2.ndarray是一个多维数组的对象,ndarray数组一般要求所有元素类型相 ...
- Numpy库的学习(三)
今天我们继续学习一下Numpy库的学习 废话不多说 ,开始讲 比如我们现在想创建一个0-14这样一个15位的数组 可以直接写,但是很麻烦,Numpy中就给我们了一个方便创建的方法 numpy中有一个a ...
- numpy库:常用基本
numpy 本文主要列出numpy模块常用方法 大部分内容来源于网络,而后经过自己的一点思考和总结,如果有侵权,请联系我 我是一名初学者,有哪些地方有错误请留言,我会及时更改的 创建矩阵(采用ndar ...
- 初识NumPy库-基本操作
ndarray(N-dimensional array)对象是整个numpy库的基础. 它有以下特点: 同质:数组元素的类型和大小相同 定量:数组元素数量是确定的 一.创建简单的数组: np.arra ...
- numpy库常用基本操作
NumPy数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推.在NumPy中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量.比如说,二维数组相当于是一个一维数 ...
- Numpy库(个人学习笔记)
一样,咱的计算机还是得先拥有Python,并且安装了Numpy库.有疑问的话可以看这里呦~~~~ 下面开讲: NumPy的主要对象是齐次多维数组.它是一个元素表(通常是数字),并且都是相同类型,由正整 ...
- Numpy库的学习(一)
今天来学习一下Python库中,支持高级大量的维度数组与矩阵运算的神奇的Numpy库 Numpy同时也对数组运算提供大量的数学函数,对于大量计算运行效率极好 是大量机器学习框架的基础库 废话不多说,直 ...
- NumPy库实现矩阵计算
随着机器学习技术越来越向着整个社会进行推广,因此学好线性代数和Python当中的numpy库就相当重要了.我们应该知道numpy库的使用是sklearn库和opencv库的基础.主要用于矩阵的计算.当 ...
- numpy 库使用
numpy 库简单使用 一.numpy库简介 Python标准库中提供了一个array类型,用于保存数组类型的数据,然而这个类型不支持多维数据,不适合数值运算.作为Python的第三方库numpy便有 ...
- 数据分析与科学计算可视化-----用于科学计算的numpy库与可视化工具matplotlib
一.numpy库与matplotlib库的基本介绍 1.安装 (1)通过pip安装: >> pip install matplotlib 安装完成 安装matplotlib的方式和nump ...
随机推荐
- iOS进阶之UDP代理鉴权过程
上一篇介绍的是TCP代理的鉴权过程,这篇将介绍UDP代理的大致鉴权过程. 在UDP鉴权过程中,有几点是需要注意的.首先,UDP是一种无连接协议,不需要连接,使用广播的方式:其次,为了通过鉴权,所以需要 ...
- phpstrom 快速定位到当前编辑文件
方法1(手动定位): 打开所要查找的文件,然后点击上图中红框中的按钮即可快速定位. 方法二(自动定位): Project面板右上角有个准星类的图标,点击后勾选上Autoscorll from Sour ...
- asp.net core 使用 web deploy 部署网站
1.添加角色和功能中 web服务器(iis)->管理工具->管理服务 打勾并安装 2.安装 web deploy,也可以通过 web平台安装程序 来安装,搜索web deploy就可以了 ...
- Exp1 PC平台逆向破解 20164303 景圣
逆向及Bof基础实验 实验对象 文件名为pwn1的linux可执行文件. 实验目标:程序正常执行流程weimain调用foo函数,foo函数会简单回显任何用户输入的字符串.该程序同时包含另一个代码片段 ...
- STA 141A, Homework
STA 141A, Homework 2Due April 30th 2019 (by 8 am) Name:Student ID:Section:Names of your study mates: ...
- PL/SQL数据类型
在定义变量或常量时,必须要指定一个数据类型,PL/SQL是一种静态类型化的程序设计语言,静态类型化又称为强类型化,也就是说类型会在编译时而不是在运行时被检查,这样在编译时便能发现类型错误,以便增强程序 ...
- class的真相
Java中Class类及用法 Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识,即所谓的RTTI.这项信息纪录了每个对象所属的类.虚拟机通常使用运行时类型信息选准正确方 ...
- 20175307《Java程序设计》第5周学习总结
教材内容总结 6.1 接口 1接口声明 接口使用关键字interface来进行声明 eg:interface 接口的名字 2接口体 接口体中包含常量的声明和抽象方法两部分(没有变量) 注意一定的要 ...
- Oracle使用——数据泵导入导出数据库——impdp/expdp使用
使用前提 EXPDP和IMPDP只可以在Oracle服务端使用. EXP导出的文件只可以使用IMP导入,不适用于IMPDP导入文件:EXPDP导出的文件只可以使用IMPDP导入,而不适用于IMP导出文 ...
- Javascript的千分位和去除千分位
1.转成千分位,保留两位 comdify(n) { let num = Number(n); let re = /\d{1,3}(?=(\d{3})+$)/g; let n1 = num.toFixe ...