1. Numpy的优势
Python已经提供了很多丰富的内置包,我们为什么还要学习NumPy呢?先看一个例子,找寻学习 NumPy 的必要性和重要性。如下:
完成同样的都对元素相加的操作,NumPy
比Python
快了11倍之多。这就是我们要学好NumPy
的一个重要理由,它在处理更大数据量时,处理效率明显快于Python
。并且内置的向量化运算和广播机制,使得使用NumPy
更加简洁,会少写很多嵌套的for
循环,因此代码的可读性大大增强。NumPy
计算为什么这么快呢?原因如下:
Python
的list
是一个通用结构。它能包括任意类型的对象,并且是动态类型。NumPy
的ndarray
是静态、同质
的类型,当ndarray
对象被创建时,元素的类型就确定。由于是静态类型,所以ndarray
间的加、减、乘、除用C
和Fortran
实现才成为可能,所以运行起来就会更快。根据官方介绍,底层代码用C语言
和Fortran
语言实现,实现性能无限接近