简介
NumPy(Numerical Python)是一个高性能科学计算和数据分析的扩展包,它提供了多维数组和矩阵运算,而且是许多高级库的基础,比如Pandas、Matplotlib等。它具有以下功能:
- 一个具有矢量运算的多维数组对象ndarray;
- 线性代数、随机数生成和傅里叶变换功能;
- 继承C、C++、Fortran代码的工具;
- 广播功能;
- 读写磁盘数据以及操作内存映射文件功能。
NumPy强大的地方还体现在配合SciPy和Matplotlib等能够替代MatLab软件包,构建属于python的科学计算环境,广泛应用在数据处理和机器学习方面。
安装
如果安装了anaconda,那么无需安装numpy。否则可以通过如下方式安装。
pip在线安装
直接输入以下命令:
1 |
pip install numpy |
pip本地安装
首先下载相应的numpy安装包,whl
格式。注意选择对应系统的版本,以及python的版本下载。
然后使用以下命令:
1 |
pip install numpy文件名.whl |
安装完后我们导入该库,测试是否安装成功:
1 |
>>>import numpy as np |
注:import numpy as np
已经称为了一种约定俗成的方式。
ndarray数组对象
在NumPy中最基本的就是ndarray数组对象。该对象是一个通用的同构数据多维容器,意味着里面的所有元素必须是相同的数据类型。
我们可以通过array()
函数创建一个数组对象,它接受一切序列型的对象。我们以列表为例:
1 2 3 4 5 |
>>>import numpy as np >>>list1 = [1, 2.5, 3] >>>a = np.array(list1) >>>a array([1. , 2.5, 3. ]) |
我们还可以通过shape
和dtype
返回数据的大小和类型:
1 2 3 4 |
>>>a.shape (3,) >>>a.dtype dtype('float64') |
除了array()
函数外,还有一些函数能够新建数组。如下表所示:
函数 | 描述 |
---|---|
arange | 类似range,返回的是一个ndarray |
ones | 根据指定的形状和dtype创建一个全为1的数组 |
zeros | 根据指定的形状和dtype创建一个全为0的数组 |
empty | 创建新数组,只分配内存空间但不填充任何值 |
eye、identity | 创建一个正方的N*N单位矩阵(对角线为1,其余为0) |
代码演示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
>>>import numpy as np >>>a = np.array(5) >>>a array([0, 1, 2, 3, 4]) >>>b = np.ones((3, 4), dtype='uint8') >>>b array([[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]], dtype=uint8) >>>c = np.zeros((2, 2)) >>>c array([[0., 0.], [0., 0.]]) >>>d = np.empty((2, 3)) >>>d array([[0., 0., 0.], [0., 0., 0.]]) >>>e = np.eye(3) >>>e array([[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]]) |
总结
本文简单介绍了NumPy的作用,如何安装该库以及如何创建一个ndarray数组对象,这些都很基础。在后面的内容中我们将会介绍更多关于NumPy库的使用。