NumPy是一个Python语言的软件包,它非常适合于科学计算。在我们使用Python语言进行机器学习编程的时候,这是一个非常常用的基础库。
本文是对它的一个入门教程。
介绍
NumPy是一个用于科技计算的基础软件包,它是Python语言实现的。它包含了:
强大的N维数组结构 精密复杂的函数 可集成到C/C++和Fortran代码的工具 线性代数,傅里叶变换以及随机数能力除了科学计算的用途以外,NumPy也可被用作高效的通用数据的多维容器。由于它适用于任意类型的数据,这使得NumPy可以无缝和高效的集成到多种类型的数据库中。
获取NumPy
由于这是一个Python语言的软件包,因此需要你的机器上首先需要具备Python语言的环境。关于这一点,请自行在网络上搜索获取方法。
关于如何获取NumPy也请参阅scipy.org官网上的Installing packages。本文不再赘述。
笔者推荐使用pip的方式安装Python包,命令如下:
pip3 install numpy
本文的代码在如下的环境中验证和测试:
硬件:MacBook Pro 2015 OS:macOS High Sierra 语言环境:Python 3.6.2 软件包:numpy 1.13.3可以在这里获取到本文的所有源码:https://github.com/paulQuei/numpy_tutorial
另外,
为了简单起见,本文我们会通过Python的print函数来进行结果的验证 为了拼写方便,我们会默认import numpy as np基础属性与数组创建
NumPy的基础是一个同构的多维数据,数组中的元素可以通过下标来索引。在NumPy中,维度称之为axis(复数是axes),维度的数量称之为rank。
例如:
下面是一个具有rank 1的数组,axis的长度为3:
[1, 2, 3]
下面是一个具有rank 2的数组,axis的长度也是3:
[[ 1, 2, 3],
[ 4, 5, 6]]
我们可以通过array函数来创建NumPy的数组,例如这样:
a = np.array([1, 2, 3])b = np.array([(1,2,3), (4,5,6)])
请注意,这里方括号是必须的,下面这种写法是错误的:
a = np.array(1,2,3,4) # WRONG!!!
NumPy的数组类是ndarray,它有一个别名是 numpy.array,但这与Python标准库的array.array并不一样。后者仅仅是一个一维数组。而ndarray具有以下的属性:
ndarray.ndim:数组的维数。在Python世界中,维数称之为rank ndarray.shape:数组的维度。这是一系列数字,长度由数组的维度(ndim)决定。例如:长度为n的一维数组的shape是n。一个n行m列的矩阵的shape是n,m ndarray.size:数组中所有元素的数量 ndarray.dtype:数组中元素的类型,例如numpy.int32, numpy.int16或者numpy.float64 ndarray.itemsize:数组中每个元素的大小,单位为字节 ndarray.data:存储数组元素的缓冲。通常我们只需要通过下标来访问元素,而不需要访问缓冲新闻热点
疑难解答