Numpy
大体内容:
Numpy是高效的运算工具;Numpy的优势;ndarry属性;Numpy的基本操作:ndarray.方法(),numpy.函数名();ndarray运算:逻辑运算,统计运算,数组间运算;合并,分割,IO操作,数据处理(更多的用pandas)
1.Numpy优势
Numpy是一个开源的Python科学计算库,用于快速处理任意维度的数组
Numpy支持常见的数组和矩阵操作,对于同样的数值计算任务,使用Numpy比直接使用Python要简洁的多
num-numerical 数值化的 ; py-python ; ndarray:n-任意个 d-dimension array-数组
Numpy提供了一个n维数组类型ndarray,它描述了相同类型的items的集合
例如:
ndarray与Python原生list运算效率对比
ndarray的优势
a.存储风格:
ndarray-相同类型的存储-通用性不强
list-不同类型的存储-通用性很强
如图所示:
从图中可以看出ndarray在存储数据的时候,数据与数据的地址是连续的,这样就给使得批量操作数组元素时速度更快
这是因为ndarray中的所有元素的类型都是相同的,而Python列表中的元素类型是任意的,所以ndarray在存储元素时内存可以连续,而Python原生list就只能通过寻址方式找到下一个元素,这虽然也导致了在通用性能方面Numpy的ndarray不及Python原生list,但在科学计算中Numpy的ndarray就可以省掉很多循环语句,代码方面要比原生list简单很多
b.并行化运算
ndarray支持向量化运算
c.底层语言
Numpy底层使用C语言编写,内部解除了GIL(全局解释器锁),其对数组的操作速度不受Python解释器的限制,效率远高于纯Python代码
认识N维数组-ndarray属性
ndarray的属性 最重要的是shape和dtype
ndarry的形状
三维数组最外层是看嵌套了几个二维数组,然后才是二维数组的形状
ndarray的dtype类型
在创建ndarray的时候,如果没有指定类型,默认类型是int64(如果数据类型是整型),如果数据类型是浮点型&