Numpy Study 1
Numpy 使用1
1、Numpy创建数组
import numpy as np
创建数组有以下方式:
(1).arange
numpy.arange([start, ]stop, [step, ]dtype=None)
np.arange(12)
np.arange(1, 10, 2): 1 3 5 7 9
np.arange(12).reshape(3,4)
np.arange(12).reshape( (3,4) )
(2).zeros ones empty 这3个类似的
numpy.zeros(shape, dtype=float, order='C')
numpy.ones(shape, dtype=None, order='C')
numpy.empty(shape, dtype=float, order='C')
np.zeros ((3,4))
np.zeros ((3,4), dtype=np.int16)
(3).linspace
numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
np.linspace(1, 10, 10): 1 2 3 --- 10
注意:
输入数组shape的时候,都输入 (rows, cols) 是OK的。当数组为一维数组时,可以只输入一个数 m,也可以输入 (m)
另外注意 arange是类似python中的range, arange与linspace不同!
2、Numpy数组运算
(1). * 和 dot区别 *是每个元素运算,dot是矩阵乘法运算
*是 elementwise product
dot是matrix product
*是元素计算, dot是矩阵计算
(2).类型转换 自动转向高精度类型转换
(3).sum求和 可以指定axis(轴)
3、Numpy全局函数 exp sqrt conj 全局函数都是对每个元素操作
a=np.arange(12).reshape((3,4))
np.sum(a,axis=0)
axis使用:
numpy的第一维是列,第二维是行。
axis=0,按照 列 计算。
axis=1,按照 行 计算。
axis=None,对所有元素计算。
3、Numpy 索引 切片 迭代
类似python中的list。
对于一维数组 可以[2] [2:5] [:6:2] [::-1]
对于多维数组 可以 [ra:rb, cm:cn] a行到b行,m列到n列
若多维数组,第一个索引为数组的索引
如A = np.arange(12).reshape((3, 4))
A[0]表示第一行 或者写为 A[0, :]
A[:, 0]表示第一列
对A迭代遍历 for row in A 遍历每一行
A.flat表示对A所有数据进行遍历
4、Numpy 形状操作
shape ravel(将矩形变成一维) a.shape=(2,6) a.T转置
a.resize() a.reshape() 功能基本一样,reshape比resize的参数多一个。reshape的参数可以给-1,参数自动计算。
resize 对自身矩阵进行操作
reshape 返回新的矩阵
5、Numpy 矩阵堆叠 矩阵分割
vstack 垂直排列
hstack 水平排列
vsplit hsplit
6、Numpy 矩阵拷贝 和 可视化
(1)、不拷贝
a=np.range(12)
b=a b.resize( (3,4) ) a.resize( (6,2) ) ====> b is a == True
(2)、浅拷贝
s = a[:, 1:3]
s[:]=10 改变a的值
(3)、深拷贝
d=a.copy()
7、Numpy 数组索引
a = np.arange(12)**2
i = np.array( [ 1,1,3,8,5 ] )
a[i]
j = np.array( [ [ 3, 4], [ 9, 7 ] ] )
a[j]
a = np.arange(12).reshape(3,4)
b = a > 4
a[b] 只有b为True的元素
8、Numpy 画图
直方图
plt.hist(v, bins=50, normed=1)
matplotlib 和 numpy略有不同


9、Numpy 线性代数
Numpy Study 1的更多相关文章
- Numpy Study 2----* dot multiply区别
使用numpy时,跟matlab不同: 1.* dot() multiply() 对于array来说,* 和 dot()运算不同 *是每个元素对应相乘 dot()是矩阵乘法 对于matrix来说,* ...
- numpy库使用总结
numpy study 0x01:n维数组对象ndaarray 存放同类型元素的多维数组 0x02:numpy数据类型 numpy 的数值类型实际上是 dtype 对象的实例,并对应唯一的字符,包括 ...
- Machine Learning Algorithms Study Notes(2)--Supervised Learning
Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 本系列文章是Andrew Ng 在斯坦福的机器学习课程 CS 22 ...
- python及pandas,numpy等知识点技巧点学习笔记
python和java,.net,php web平台交互最好使用web通信方式,不要使用Jypython,IronPython,这样的好处是能够保持程序模块化,解耦性好 python允许使用'''.. ...
- Python: NumPy, Pandas学习资料
NumPy 学习资料 书籍 NumPy Cookbook_[Idris2012] NumPy Beginner's Guide,3rd_[Idris2015] Python数据分析基础教程:NumPy ...
- 利用Python进行数据分析(5) NumPy基础: ndarray索引和切片
概念理解 索引即通过一个无符号整数值获取数组里的值. 切片即对数组里某个片段的描述. 一维数组 一维数组的索引 一维数组的索引和Python列表的功能类似: 一维数组的切片 一维数组的切片语法格式为a ...
- 利用Python进行数据分析(4) NumPy基础: ndarray简单介绍
一.NumPy 是什么 NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生.在之前的随笔里已有更加详细的介绍,这里不再赘述. 利用 Python 进行数据分析(一)简单介绍 ...
- 利用Python进行数据分析(6) NumPy基础: 矢量计算
矢量化指的是用数组表达式代替循环来操作数组里的每个元素. NumPy提供的通用函数(既ufunc函数)是一种对ndarray中的数据进行元素级别运算的函数. 例如,square函数计算各元素的平方,r ...
- python安装numpy、scipy和matplotlib等whl包的方法
最近装了python和PyCharm开发环境,但是在安装numpy和matplotlib等包时出现了问题,现总结一下在windows平台下的安装方法. 由于现在找不到了工具包新版本的exe文件,所以采 ...
随机推荐
- ASP.NET连接数据库时,提示“用户 'sa' 登录失败原因: 未与信任 SQL Server 连接相关联
用ASP.NET连接数据库时,提示"用户 'sa' 登录失败.原因: 未与信任 SQL Server 连接相关联.".解决方法:首先检查是不是web.config文件内的用户名密码 ...
- JBOSS服务器的安装及配置
1 安装jdk(jdk-1_5_0_05-windows-i586-p.exe)2 配置jdk环境 安装完成后还需要配置运行时环境:右键点击"我的电脑"->"属性& ...
- [转] 将DOS格式文本文件转换成UNIX格式
点击此处阅读原文 用途说明 dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter).DOS下的文本文 ...
- Dynamics AX 2012 R2 业务系列
在之前的一系列博文里,Reinhard介绍了Dynamics AX Demo的安装与配置.相信同学们看完后,都已经成功拥有了一个测试环境. 众所周知的是,ERP作为一个特殊的软件系统,他有着背后的业务 ...
- Saltstack之salt-master的打开文件数问题
一.引言: 单个salt-master下的minion数已经达到2101个了,所以在master日志有如下的提示: 2016-09-09 11:36:22,221 [salt.utils.verify ...
- HTML5的Video标签的属性,方法和事件汇总
<video>标签的属性 src :视频的属性 poster:视频封面,没有播放时显示的图片 preload:预加载 autoplay:自动播放 loop:循环播放 controls:浏览 ...
- ASP.net如何保证EF操作类线程内唯一
说到线程内唯一,肯定会想到单例模式,但是如果多用户访问网站就会出现问题.ASP.net中有两种方法可以保证EF操作类线程内唯一(目前只会这两种,以后有好的方法再添加): 1.httpcontext(实 ...
- 关于el jstl
requestScope表示从request范围内取得.其他的还有sessionScope, pageScope和applicationScope,分别对应4种属性范围.而如果直接写${passwor ...
- 不写完不让回家的JQuery的事件与动画
在这看不见太阳的小黑屋里,苦逼的一天又开始了 好了闲话我也就不扯了,接下来我就来说说我对jQuery事件和动画的理解吧!!! 还是得再扯两句,我们敬爱的,Y老师讲完了,jQuery事件和动画,对着我们 ...
- Storm入门2-单词计数案例学习
[本篇文章主要是通过一个单词计数的案例学习,来加深对storm的基本概念的理解以及基本的开发流程和如何提交并运行一个拓扑] 单词计数拓扑WordCountTopology实现的基本功能就是不停地读入 ...