NumPy是Numerical Python的简称,是Python的支持矢量运算的面向N维数组的一个运算库,目前在机器学习和数据科学领域被广泛使用,并且当前许多支持科学计算的工具包都是基于NumPy开发的,例如pandas,,scikit-learn,TensorFlow等。
NumPy最大的特点是其对象ndarray,其存储形式是N维的数组,我们可以将NumPy的1维数据看成是向量,多维数据看成是矩阵,可以把NumPy的计算看成是向量或矩阵运算,这点跟MATLAB特别相似。
说到数组,或许你可能有疑问了,Python本身就包含列表(list)和数组(array),为什么我们非要用NumPy而不用常规的Python数组呢?这主要是因为NumPy的算法库都是由C语言编写,可以直接操作内存,所以极大的提高了运行效率,一般基于NumPy的算法要比纯Python快10-100倍,并且占用的内存更少,可以说是既快又省。
基于NumPy的数据结构特点,本文主要从NumPy的一维数组(可以理解为向量)和多维数组(可以理解为矩阵)2个方面进行介绍,以便于大家系统性的学习NumPy。
一维数组(向量)
- 创建数组