NumPy数据处理详解的笔记2
第1章NumPy基础
NumPy是用于处理多维数组的数值运算库,不仅可用于
机器学习,还可以用于图像处理,语言处理等任务。
1.2 多维数据结构ndarray的基础
在学习NumPy的过程中,只要理解了ndarray的相关知识,
就能够编写出高性能,更加节省内存空间的代码。
1.2.1 ndarray
ndarray就是用于对包含同样属性同样大小的元素的多维
数组进行处理的一个Python类。
1.2.2 属性
T 返回经过转置的矩阵,当维度小于2,返回原数组
dtype ndarray中元素的类型
size 元素的数量
ndim 维度
shape 使用元组表示的ndarray的形状
1.2.3 内存布局
使用ndarray类生成的实例在内存中是以一维数组的形式
进行存储的。先保存用于描述数据的类型,形状等信息的
元数据,再保存数组本身的数据,有行主序和列主序两种
排序方式。
1.2.4 步长
在使用字节数表示访问每个元素时,这个在内存空间中所需
移动的距离的属性称为步长。
1.2.5 广播
ndarray的一大特点是对广播功能的支持。
1.3 广播
1.3.1 何为广播
例如,对两个数组中的元素进行加法运算时,可能会遇到这两个
数组的形状不一致的问题。所谓广播就是对这个情况中的数组形
状进行调整。
1.3.2 广播的运行机制
规则1:在作为广播对象的数组中,如果维数不同,在其shape的
开头加入1,以对形状进行调整。
规则2:可以广播的条件是每个维度的元素数量与最大数量相同或者为1。
规则3:结果中所输出的数组形状,会根据每个维度中元素的最大值进行调整
规则4:对于元素数量为1的维度所在的轴,使用相同的值进行重复填充。