本文主要介绍Python中专门用于数据处理的库–Numpy,使用它可以快速地构建复杂的矩阵操作。
闲话少说,我们直接开始吧!
Numpy是Numerical Python的缩写,它包含多维矩阵对象和多种数据操作函数。使用Numpy,可以方便地对数据执行数学和逻辑运算。
在Python中,我们经常需要使用数组进行操作,但它们处理起来很慢。NumPy旨在提供一个比传统Python列表快50倍的数组对象。NumPy中的数组对象称为ndarray,它提供了许多功能强大的函数,使得使用ndarray非常容易。矩阵操作在数据科学中非常常见,同时在数据处理中,速度和资源非常重要。
在Python中安装Numpy非常简单,只需要使用pip进行安装即可。相关命令如下:
pip install numpy
Numpy支持很多数据类型,比如int64代表有符号64位整数,float32标识有符号32位浮点数。同时,Numpy数组对象中,有一个dtype
的成员变量可以返回对应数组数据的类型。
样例代码如下:
Numpy数组对象中,有一个ndim
的成员变量可以返回一个整数,用于表示矩阵的纬度。
样例代码如下:
同时,矩阵对象的成员变量shape
可以表示每个维度的大小,同时成员变量size
可以表示元素的个数,样例代码如下:
在Numpy中,我们也可以改变矩阵的形状,通常使用reshape()
函数来进行操作。
示例图像如下:
在Python中,切片操作通常意味着将元素从矩阵中将一个索引到另一个索引取出,我们一般传递给切片操作的索引的形式为:[start:end]
当然我们有时候也会定义相应的步长,形式为:[start:end:step]
在Numpy中,经常使用np.transpose()
函数来将一个矩阵的行和列进行转置运算。我们来看以下例子:
在Numpy中,我们可以对矩阵所有元素进行相应的算术运算。比如:
我们可以使用 sum()
函数来对矩阵中所有元素进行求和,使用min()
函数来求矩阵中所有元素的最小值,同时使用max()
函数来求矩阵中所有元素的最大值。
样例代码如下:
在Numpy中,我们当然也可以使用mean()
函数来对全部或者某一纬度上的所有元素进行求平均值的操作。
样例代码如下:
此外,该函数的参数axis
,当其取值axis=0
时表示按列求均值,同时当其取值为axis=1
时表示按行求均值。
样例代码如下:
在Numpy中,我们通常使用np.concatenate()
函数来将一系列矩阵按照某个纬度进行拼接,就像拼积木一样,示例图像如下:
numpy.concatenate((arr1, arr2, …), axis=0, out=None)
本文对Python中常见的基础函数进行了简单的总结,并给出了相应的样例代码。
您学废了吗?
关注公众号《AI算法之道》,获取更多AI算法资讯。