NumPy基础:数组和矢量计算

大数据分析应用关注的功能点:

1、用于数据整理和清理、子集构造和过滤、转换等快速的矢量化数组运算
2、常用的数组算法,如排序、唯一化、集合运算等
3、高效的描述统计和数据聚合/摘要运算
4、用于异构数据集的合并/连接运算的数据对其和关系型数据运算
5、将条件逻辑表述为数组表达式(而不是带有if-elif-else分支的循环)
6、数据的分组运算(聚合、转换、函数应用等)

ndarray:一种多维数组对象

每个数组都有一个shape(一个表示各维度大小的元组)和一个dtype(一个明确数组类型的对象)

创建ndarray

使用array函数创建;


NumPy基础:数组和矢量计算_第1张图片
image.png

zeros/ones分别可以创建指定长度或形状的全0或全1数组;
empty可以创建一个没有任何具体值的数组;
arange是range函数的数组版


NumPy基础:数组和矢量计算_第2张图片
image.png

数组创建函数
NumPy基础:数组和矢量计算_第3张图片
image.png

ndarray的数据类型

NumPy基础:数组和矢量计算_第4张图片
image.png

NumPy基础:数组和矢量计算_第5张图片
image.png

可以通过narray的astype方法转换dtype;
如果将浮点型转换成整数,则小数部分会被截断;
如果字符串数组表示的全是数字,也可以用astype将其转换成数值形式


NumPy基础:数组和矢量计算_第6张图片
image.png

数组和标量之间的计算

基本的索引和切片

将一个标量值赋值给一个切片时,该值会自动传播到整个选区;跟列表最重要的区别在于,数组切片是原始数组的视图,视图上的任何修改都会反映到源数组上


image.png

NumPy基础:数组和矢量计算_第7张图片
image.png

NumPy基础:数组和矢量计算_第8张图片
image.png

NumPy基础:数组和矢量计算_第9张图片
image.png
切片索引

切片是沿着一个轴向选取元素的;
注意,“只有冒号”表示选取整个轴


NumPy基础:数组和矢量计算_第10张图片
image.png

布尔型索引

NumPy基础:数组和矢量计算_第11张图片
image.png

NumPy基础:数组和矢量计算_第12张图片
image.png

要选择除某个值意外的其他值,可以使用!=,也可以使用~对条件进行否定


NumPy基础:数组和矢量计算_第13张图片
image.png

要选取多个关键词,可以用布尔条件,使用&、|之类的布尔算数运算符
NumPy基础:数组和矢量计算_第14张图片
image.png

通过布尔型索引选取数组中的数据,将总是创建数据的副本,即使返回一模一样的数组也是如此;
通过布尔型数组设置值是一种常用的手段


NumPy基础:数组和矢量计算_第15张图片
image.png

花式索引

指的是利用整数数组进行索引


NumPy基础:数组和矢量计算_第16张图片
image.png

为了以特定顺序选取行子集,只需传入一个用于指定顺序的整数列表或ndarray即可


NumPy基础:数组和矢量计算_第17张图片
image.png

NumPy基础:数组和矢量计算_第18张图片
image.png

NumPy基础:数组和矢量计算_第19张图片
image.png

数轴转置和轴对换

矩阵计算用的比较多


NumPy基础:数组和矢量计算_第20张图片
image.png

NumPy基础:数组和矢量计算_第21张图片
image.png

通用函数:快速的元素级数组函数

NumPy基础:数组和矢量计算_第22张图片
image.png

NumPy基础:数组和矢量计算_第23张图片
image.png

NumPy基础:数组和矢量计算_第24张图片
image.png

利用数组进行数据处理

NumPy基础:数组和矢量计算_第25张图片
image.png

NumPy基础:数组和矢量计算_第26张图片
image.png

将条件逻辑表述为数组运算

NumPy基础:数组和矢量计算_第27张图片
image.png

NumPy基础:数组和矢量计算_第28张图片
image.png

NumPy基础:数组和矢量计算_第29张图片
image.png

NumPy基础:数组和矢量计算_第30张图片
image.png

image.png

NumPy基础:数组和矢量计算_第31张图片
image.png

数学和统计方法

NumPy基础:数组和矢量计算_第32张图片
image.png

NumPy基础:数组和矢量计算_第33张图片
image.png

image.png

NumPy基础:数组和矢量计算_第34张图片
image.png

用于布尔型数组的方法

image.png

NumPy基础:数组和矢量计算_第35张图片
image.png

排序

sort方法


image.png

NumPy基础:数组和矢量计算_第36张图片
image.png

NumPy基础:数组和矢量计算_第37张图片
image.png

NumPy基础:数组和矢量计算_第38张图片
image.png

唯一化以及其他的集合逻辑

最常用的:np.unique


NumPy基础:数组和矢量计算_第39张图片
image.png

NumPy基础:数组和矢量计算_第40张图片
image.png

用于数组的文件输入输出

将数组以二进制格式保存到磁盘

np.save和np.load
默认情况下,数组是以未压缩的原始二进制格式保存在.npy文件中


NumPy基础:数组和矢量计算_第41张图片
image.png

NumPy基础:数组和矢量计算_第42张图片
image.png

存取文本文件

!type,np.loadtxt,np.savetxt,getfromtxt(面向的是结构化数组和缺失数据处理)


NumPy基础:数组和矢量计算_第43张图片
image.png

image.png

线性代数

NumPy基础:数组和矢量计算_第44张图片
image.png

NumPy基础:数组和矢量计算_第45张图片
image.png

NumPy基础:数组和矢量计算_第46张图片
image.png

NumPy基础:数组和矢量计算_第47张图片
image.png

NumPy基础:数组和矢量计算_第48张图片
image.png

随机数生成

NumPy基础:数组和矢量计算_第49张图片
image.png

NumPy基础:数组和矢量计算_第50张图片
image.png

NumPy基础:数组和矢量计算_第51张图片
image.png

NumPy基础:数组和矢量计算_第52张图片
image.png

NumPy基础:数组和矢量计算_第53张图片
image.png

NumPy基础:数组和矢量计算_第54张图片
image.png

NumPy基础:数组和矢量计算_第55张图片
image.png

NumPy基础:数组和矢量计算_第56张图片
image.png

NumPy基础:数组和矢量计算_第57张图片
image.png

NumPy基础:数组和矢量计算_第58张图片
image.png

NumPy基础:数组和矢量计算_第59张图片
image.png

NumPy基础:数组和矢量计算_第60张图片
image.png

你可能感兴趣的:(NumPy基础:数组和矢量计算)