python机器学习基础库(numpy,pandas,matplotlib)
1.numpy
NumPy是Python数值计算最重要的基础包,支持高级大量的维度数组与矩阵运算,大多数提供科学计算的包都是使用Numpy的数组作为构建基础。Numpy内部解除了Python的PIL(全局解释器锁),运算效率极好,是大量机器学习框架的基础库。
下面简要介绍numpy的简单使用方法
创建ndarray对象:
1 | numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0) |
代码:
1 | import numpy as np |
创建一个二维数组
1 | import numpy as np |
使用reshape调整数组大小
1 | import numpy as np |
切片和索引
ndarray
对象的内容可以通过索引或切片来访问和修改,就像 Python 的内置容器对象一样。
如前所述,ndarray
对象中的元素遵循基于零的索引。 有三种可用的索引方法类型: 字段访问,基本切片和高级索引。
基本切片是 Python 中基本切片概念到 n 维的扩展。 通过将start
,stop
和step
参数提供给内置的slice
函数来构造一个 Python slice
对象。 此slice
对象被传递给数组来提取数组的一部分。
示例 1
1 | import numpy as np |
输出如下:
1 | [2 4 6] |
在上面的例子中,ndarray
对象由arange()
函数创建。 然后,分别用起始,终止和步长值2
,7
和2
定义切片对象。 当这个切片对象传递给ndarray
时,会对它的一部分进行切片,从索引2
到7
,步长为2
。
通过将由冒号分隔的切片参数(start:stop:step
)直接提供给ndarray
对象,也可以获得相同的结果。
示例 2
1 | import numpy as np |
输出如下:
1 | [2 4 6] |
如果只输入一个参数,则将返回与索引对应的单个项目。 如果使用a:
,则从该索引向后的所有项目将被提取。 如果使用两个参数(以:
分隔),则对两个索引(不包括停止索引)之间的元素以默认步骤进行切片。
示例 3
1 | # 对单个元素进行切片 |
输出如下:
1 | 5 |
示例 4
1 | # 对始于索引的元素进行切片 |
数学运算
可以对Numpy数组进行加法,减法,乘法,甚至三角运算,可以通过广度映射对不同阵型的数组进行算术运算。
向量
使用np.vectorize(函数)创建标量函数的向量化版本,以Python函数或方法作为参数,输出函数的向量化版本。
1 | import numpy as np |
输出为:1
[5 5 1 3]
多项式函数
ployld接受降幂次序的参数数组作为参数
创建多项式
1 | import numpy as np |