《数据科学与分析:Python语言实现》 —2.5 “熊猫”前来救驾
2.5 “熊猫”前来救驾
你可能会认为我们已经在Monty Python剧团中神经错乱了,从而将动物名称作为章节的一部分。可惜你错了,因为此“熊猫”非彼熊猫。Pandas实际上是一个非常强大的类库,它使Python能够使用面板数据或数据帧来处理结构化数据集。Pandas库于2008年由Wes McKinney开始作为立项,旨在使Python成为一个更实用的统计数据分析工具。
Pandas是Python技术栈的一个很好的补充,它允许我们使用各种变量操作索引结构化数据,包括使用时间序列、缺失值和多个数据集。在Pandas中,一维数组称为Series,而数据框(DataFrame)则是多个Series的容器集合。数据框可以保存各种数据类型并对其进行操作,这使得Python的Pandas库成为数据科学家不可或缺的工具之一。
在某种意义上,我们可以将Pandas序列视为NumPy数组的扩展,实际上我们可以使用它来初始化一个序列(Pandas库的常用别名是pd):
我们也可以使用列表或元组进行初始化。Pandas的一个非常有用的功能是使用索引和列名称来引用数据。让我们看看表2.4中显示的数据,了解一些动物关于其肢体数量和饮食习惯的详细说明:
我们可以通过创建列表来将这些数据加载到Python中,这些列表包含有关描述表中动物的两个特征的相应信息。
请注意,我们已将表2.4中的四肢数和食草动物的特征定义为字典,其中键值是Pandas数据帧中列的名称,并且值对应于表中的条目。类似地,我们定义了一个名为animals的列表,它将用作标识表中每一行的索引。
我们可以使用句柄df查看数据帧中的前3个条目:
其中,head方法让我们看到数据帧的前几行。同样,tail会显示最后几行。
如上所述,我们可以通过列的名称来引用列数据。例如,我们可以使用以下命令检索有关第2行到第4行的四肢数的数据:
请注意,我们已将列的名称定义为字符串。此外,我们使用切片来选择所需的数据。同样,可以通过查找正确的索引来获取有关单行的信息:
Pandas中有许多非常有用的命令可以帮助我们理解数据框中的内容。例如,我们可以获得各种列的描述。如果数据是数字,describe方法将给我们一些基本的描述性统计,如计数、平均值、标准差等:
如果数据是分类的,则它提供计数、唯一条目的数量、最高类别等。我们还可以通过描述获得分类数据的有用信息。
将新列添加到数据框非常容易。例如,我们可以在上面的数据中添加一个类,如下所示:
Pandas还允许我们创建组和聚合:
其中,方法.groups包含分组信息,.size返回简单计数。
我们也可以应用聚合函数(aggregation function)。让我们尝试在数据集中计算食草动物和食肉动物的平均四肢数(此处用NumPy中的均值函数(mean)来计算):
在上面的例子中,我们使用Python将数据逐行输入到Pandas数据帧中。虽然这对于小型数据集是可行的,但实际上你可能有兴趣从其他来源摄取数据。幸运的是,Pandas拥有非常强大的输入/输出生态系统,能够从众多来源获取数据。表2.5中列出了其中一些来源。
表2.5 Pandas可用的一些输入源
Pandas是一种函数多样且功能丰富的工具,上述简短的讨论中只触及了皮毛而已。我们将在本书的其余部分广泛使用Pandas,并且只要有可能,我们将提供解释以帮助大家讨论。尽管如此,我们强烈建议你深入了解这个伟大的类库。
- 点赞
- 收藏
- 关注作者
评论(0)