玩数据分析、数据挖掘、AI的都知道这个Python库用的是很多的,里面包含各种操作,在实际的DataSet的处理当中是非常常用的。
NumPy就是Python的其中一个扩充程序库。它支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Numpy内部解除了Python的PIL(全局解释器锁),运算效率极好,是大量机器学习框架的基础库。
NumPy的主要特点
●ndarray,快速,节省空间的多维数组,提供数组化的算术运算和高级的广播功能。
●使用标准数学函数对整个数组的数据进行快速运算,而不需要编写循环。
●读取/写入磁盘上的阵列数据和操作存储器映像文件的工具。
●线性代数,随机数生成,以及傅里叶变换的能力。
●集成C、C++、Fortran代码的工具。
今天,我们就来和大家分享几个Numpy数组常用操作。
Numpy数组的创建
特殊矩阵的创建
np.ones() 函数与np.zeros() 函数可以创建任意维度的全1或全0数组。函数参数可按照IDE的提示来进行填写。
创建自列表
具体就是先创建具有数据的列表,然后将其转换为数组。如以下代码所示:
Numpy数组的切片
由于python列表是层次嵌套的,所以索引元素方法为a[i][j];而Numpy数组为一个整体,其索引方法为a[i, j]。在此基础上就可以进行切片,比如:
a[i, 0:4]表示第i行,第0到第4列(不包括第4列);
a[i, :]表示第i行;
a[-1, :]表示最后一行;
a[:-1, :]表示除最后一行的所有行;
以上方法同样可用于列。
Numpy数组的排序
将每一行或列排序
使用np.sort() 函数或数组对象本身的sort() 函数,其中np.sort() 不改变原数组对象的顺序,而是返回一个排序后的数组对象。如下代码所示:
将每一行排序
将每一列排序
将每一行看作整体,将所有行按照某一列的顺序进行排序
这里要提一下argsort() 函数,该函数返回数组沿指定轴排序后的索引,我们可以使用某列排序后的索引来排序所有行。使用代码如下:
argsort()的用法
将所有行按第二列进行排序
Numpy数组的拼接
np.concatenate() 函数可以提供数组拼接操作,使用代码如下:
以上就是今天的教程内容,希望能对你的学习之路有所帮助。