涉及python机器学习的两个包,所以一个个的说,教材非常详细导致文章非常长!
pandas
pandas是一个python语言的软件包,在我们使用python语言进行机器学习编程的时候,这是一个非常常用的基础编程库。
pandas提供了快速,灵活和富有表现力的数据结构,目的是使“关系”或“标记”数据的工作既简单又直观。它旨在成为在python中进行实际数据分析的高级构建块。
这是一个python语言的软件包,所以电脑要安装python语言的环境。关于这一点,想机器学习的python朋友肯定是无需我多言。
建议读者先对 numpy 有一定的熟悉再来学习pandas
# data_structure.pynoteseries = pd.series([c, d, e, f, g, a, b], index=[1, 2, 3, 4, 5, 6, 7])weekdayseries = pd.series([mon, tue, wed, thu, fri, sat, sun], index=[1, 2, 3, 4, 5, 6, 7])df4 = pd.dataframe([noteseries, weekdayseries])print(df4\n{\n.format(df4))
index对象与数据访问
pandas的index对象包含了描述轴的元数据信息。当创建series或者dataframe的时候,标签的数组或者序列会被转换成index。可以通过下面的方式获取到dataframe的列和行的index对象:
该段python代码输出如下:
numpy
是一个用于科技计算的基础软件包,它是python语言实现的。它包含了:
强大的n维数组结构
精密复杂的函数
可集成到c/c++和fortran代码的工具
线性代数,傅里叶变换以及随机数能力
除了科学计算的用途以外,numpy也可被用作高效的通用数据的多维容器。由于它适用于任意类型的数据,这使得numpy可以无缝和高效的集成到多种类型的数据库中。
另外,
为了简单起见,本文我们会通过python的
print
函数来进行结果的验证
import numpy as np
为了拼写方便,我们会默认
注:numpy本身支持多维数组,也支持各种类型元素的数据。但考虑到,三维及以上的数组结构并不容易理解,而且我们在进行python机器学习编程的时候,用的最多的是矩阵运算。因此,本文接下来的例子主要以一维和二维数字型数组来进行示例说明。
np.vsplit(d, 3) =
[array([[ 1., 2., 11., 12., 13., 1.]]), array([[ 3., 4., 14., 15., 16., 1.]]), array([[ 5., 6., 17., 18., 19., 1.]])]
索引
接下来我们看看如何访问numpy数组中的数据。
同样的,为了测试方便,我们先创建一个一维数组。它的内容是 [100,200)区间的整数。
最基本的,我们可以通过
array[index]
的方式指定下标来访问数组的元素,这一点对于有一点编程经验的人来说应该都是很熟悉的。
这段代码输出如下: