04丨Python科学计算:用NumPy快速处理数据
知识清单:
杂:
- python中list中得元素可以是任意值,python中list元素在系统内是分散存储得,而Numpy数组存储在一个均匀连续得内存块中,数组计算遍历所有的额元素,而list还需要对内存地址进行查找,可以节省计算资源,
- 在内存访问模式里面,缓存会把字节块从RAM加载到CPU寄存器中,因为数据连续的存储在内存中,Numpy可以直接利用现在的CPU得矢量化指令计算,加载寄存器中得多个连续得浮点数。并且Numpy也可以采用多线程的方式,充分利用多核CPU计算资源大大提高计算效率。
- 提高内存和计算资源得利用率:避免采用隐式拷贝,而是采用就地操作得方式。
NUmpy:
- 对象:
-
ndarray(N-dimensional array object)用于解决多维数组得问题
-
ufunc(universal function object)则是解决对数组进行处理得函数。
- 结构数组:
- dtype定义的结构数组
- np.shape:查看数组的个数; np.dtype是查看元素的类型
- ufunc运算:arange()函数和linspace都可用来创建等差数组
- 算术运算:
- 统计函数:
- NumPy排序:默认是采用快速排序sort(a, axis=-1, kind = 'quicksort', order = None)也可采用mergesort,heapsort等合并排序和堆排序