Python之NumPy实践之数组和矢量计算
Python之NumPy实践之数组和矢量计算
1. NumPy(Numerical Python)是高性能科学技术和数据分析的基础包。
2. NumPy的ndarray:一种对位数组对象。NumPy最重要的一个特点是其N维数组对象(即ndarray),该对象是是一个快速而灵活的大数据集容器。
3. 创建ndarray
data1 = [1,2.4,4,3,0]
arr1 = np.array(data1)
除np.array可以创建新数组之外,zeros和ones分别可以创建指定长度或形状的全0或全1数组。empty可以创建一个没有任何具体值的数组。
4. arrage是Python内置函数range的数组版。
5. eye、identity 创建一个正方N x N单位矩阵(对角线为1,其余为0)
6. NumPy主要数据类型:浮点型、复数、整数、布尔值、字符串还有普通的Python对象。
7. 数组和标量之间的计算:数组可以代替循环对数据执行批量操作。这通常称为矢量化(Vectorization)。
8. 不同大小的数组之间的运算叫做广播。
9. 基本的索引和切片
索引:NumPy数组的索引是一个内容丰富的主题,因为选取数据子集或者单个元素的方式有很多。
切片:跟列表最重要的区别在于,数组切片是原始数组的视图。
10. 切片索引:切片是沿着一个轴向选取元素的,可以一次传入多个切片,就像传入多个索引那样。
11. 花式索引(Fancy indexing)是NumPy术语,它指的是利用整数数组进行索引。
12. 数组装置和轴对换:
转置(transpose)是重塑的一种特殊形式,它返回的是源数据的视图(不会进行任何复制操作)。
对于高维数组,transpose需要得到一个由轴编号组成的元组才能对这些轴进行转置。
13. 通用函数:快速的元素级数组函数。通用函数(即ufunc)是一种对ndarray中的数据执行元素级运算的函数。
14. 利用数组进行数据处理
NumPy数组使得可以将许多数据处理任务表述为简洁的数组表达式。用数组表达式代替循环的做法,通常被称为矢量化。
15. 将条件逻辑表述为数组运算:numpy.where函数是三元表达式x if condition else y 的矢量版本。
16. 排序
NumPy数组也可以通过sort方法就地排序,多维数组可以在任何一个轴向上进行排序,只需将轴编号传给sort即可.
顶级方法np.sort返回的是数组的已排序副本,而就地排序则会修改数组本身。
17. 用数组的文件进行输入输出
将数组以二进制格式保存到磁盘:np.save和np.load
存取文本文件:pandas中的read_csv和read_table函数;np.loadtxt或np.genfromtxt
Python之NumPy实践之数组和矢量计算的更多相关文章
- 《利用python进行数据分析》读书笔记--第四章 numpy基础:数组和矢量计算
http://www.cnblogs.com/batteryhp/p/5000104.html 第四章 Numpy基础:数组和矢量计算 第一部分:numpy的ndarray:一种多维数组对象 实话说, ...
- 利用Python进行数据分析——Numpy基础:数组和矢量计算
利用Python进行数据分析--Numpy基础:数组和矢量计算 ndarry,一个具有矢量运算和复杂广播能力快速节省空间的多维数组 对整组数据进行快速运算的标准数学函数,无需for-loop 用于读写 ...
- 《利用Python进行数据分析·第2版》第四章 Numpy基础:数组和矢量计算
<利用Python进行数据分析·第2版>第四章 Numpy基础:数组和矢量计算 numpy高效处理大数组的数据原因: numpy是在一个连续的内存块中存储数据,独立于其他python内置对 ...
- 【学习笔记】 第04章 NumPy基础:数组和矢量计算
前言 正式开始学习Numpy,参考用书是<用Python进行数据清洗>,计划本周五之前把本书读完,关键代码全部实现一遍 NumPy基础:数组和矢量计算 按照书中所示,要搞明白具体的性能差距 ...
- python数据分析---第04章 NumPy基础:数组和矢量计算
NumPy(Numerical Python的简称)是Python数值计算最重要的基础包.大多数提供科学计算的包都是用NumPy的数组作为构建基础. NumPy的部分功能如下: ndarray,一个具 ...
- 《利用python进行数据分析》NumPy基础:数组和矢量计算 学习笔记
一.有关NumPy (一)官方解释 NumPy is the fundamental package for scientific computing with Python. It contains ...
- 《利用Python进行数据分析》笔记---第4章NumPy基础:数组和矢量计算
写在前面的话: 实例中的所有数据都是在GitHub上下载的,打包下载即可. 地址是:http://github.com/pydata/pydata-book 还有一定要说明的: 我使用的是Python ...
- [读书笔记] Python数据分析 (四) 数组和矢量计算
Numpy:高性能计算和数学分析的基础包 ndarray, 一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组 用于对数组数据进行快速运算的标准数学函数 用于读写磁盘数据的工具和用于操作内存 ...
- NumPy基础:数组和矢量计算
今天被老板fire了,还是继续抄书吧,安抚我受伤的小心脏.知识还是得慢慢积累,一步一个脚印,这样或许才是最快的捷径. ------2015-2-16-------------------------- ...
随机推荐
- noip模拟赛 序
[问题背景]zhx 给他的妹子们排序.[问题描述]zhx 有 N 个妹子, 他对第 i 个妹子的好感度为 ai,且所有 ai两两不相等. 现 在 N 个妹子随意站成一排, 他要将她们根据好感度从小到大 ...
- Minimum Sum LCM(uva 10791)
题意(就是因为读错题意而wa了一次):给一个数字n,范围在[1,2^23-1],这个n是一系列数字的最小公倍数,这一系列数字的个数至少为2 例如12,是1和12的最小公倍数,是3和4的最小公倍数,是1 ...
- spring boot jpa 事务管理
spring boot 对jpa的支持极为方便,基本上不需要作太多配置,只需要加上注解就能支持事务: @Controller @Transactional(rollbackOn = Exception ...
- Linux下汇编语言学习笔记76 ---
这是17年暑假学习Linux汇编语言的笔记记录,参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译<汇编语言基于Linux环境>的书,喜欢看原版书的同学可以看<Ass ...
- Eureka集群的那些坑
今天遇到一个Eureka集群的一个坑. 问题现场类似是这样的:两台Eureka组成的服务注册中心集群,两台服务提供方server1.server2,两个服务调用方client1.client2. 正常 ...
- Android学习路线(十八)支持不同设备——支持不同的屏幕
Android系统使用两个普通属性:尺寸和密度,来对设备屏幕进行分类. 你须要先预測你的应用将会在什么样屏幕的设备上安装,包含屏幕尺寸和密度.这种话,你就须要提供一些可选的资源类让你的应用在不同屏幕的 ...
- [LeetCode][Java] N-Queens II
题目: Follow up for N-Queens problem. Now, instead outputting board configurations, return the total n ...
- 解决:sql2005 安装完后 没有服务的问题
去下面网站下载SQLEXPR_CHS.EXE然后安装就ok了.http://www.microsoft.com/downloadS/details.aspx?familyid=220549B5-0B0 ...
- 利用POI抽取word中的图片并保存在文件中
利用POI抽取word中的图片并保存在文件中 poi.apache.org/hwpf/quick-guide.html 1.抽取word doc中的图片 package parse; import j ...
- 洛谷 P1083 [ NOIP 2012 ] 借教室 —— 线段树 / 二分差分数组
题目:https://www.luogu.org/problemnew/show/P1083 当初不会线段树的时候做这道题...对差分什么不太熟练,一直没A,放在那儿不管... 现在去看,线段树就直接 ...