《数据科学与分析:Python语言实现》 —2.5 “熊猫”前来救驾

举报
华章计算机 发表于 2020/02/15 21:03:27 2020/02/15
【摘要】 本节书摘来自华章计算机《数据科学与分析:Python语言实现》 一书中第2章,第2.5节,作者是[英]赫苏斯·罗格尔–萨拉查(Jesús Rogel-Salazar),白 皓 刘江一 上官明乔 刁 娟 译。

2.5 “熊猫”前来救驾

你可能会认为我们已经在Monty Python剧团中神经错乱了,从而将动物名称作为章节的一部分。可惜你错了,因为此“熊猫”非彼熊猫。Pandas实际上是一个非常强大的类库,它使Python能够使用面板数据或数据帧来处理结构化数据集。Pandas库于2008年由Wes McKinney开始作为立项,旨在使Python成为一个更实用的统计数据分析工具。

Pandas是Python技术栈的一个很好的补充,它允许我们使用各种变量操作索引结构化数据,包括使用时间序列、缺失值和多个数据集。在Pandas中,一维数组称为Series,而数据框(DataFrame)则是多个Series的容器集合。数据框可以保存各种数据类型并对其进行操作,这使得Python的Pandas库成为数据科学家不可或缺的工具之一。

在某种意义上,我们可以将Pandas序列视为NumPy数组的扩展,实际上我们可以使用它来初始化一个序列(Pandas库的常用别名是pd):

 image.png

我们也可以使用列表或元组进行初始化。Pandas的一个非常有用的功能是使用索引和列名称来引用数据。让我们看看表2.4中显示的数据,了解一些动物关于其肢体数量和饮食习惯的详细说明:

image.png

我们可以通过创建列表来将这些数据加载到Python中,这些列表包含有关描述表中动物的两个特征的相应信息。

 image.png

请注意,我们已将表2.4中的四肢数和食草动物的特征定义为字典,其中键值是Pandas数据帧中列的名称,并且值对应于表中的条目。类似地,我们定义了一个名为animals的列表,它将用作标识表中每一行的索引。

我们可以使用句柄df查看数据帧中的前3个条目:

 image.png

其中,head方法让我们看到数据帧的前几行。同样,tail会显示最后几行。

如上所述,我们可以通过列的名称来引用列数据。例如,我们可以使用以下命令检索有关第2行到第4行的四肢数的数据:

 image.png

请注意,我们已将列的名称定义为字符串。此外,我们使用切片来选择所需的数据。同样,可以通过查找正确的索引来获取有关单行的信息:

 image.png

Pandas中有许多非常有用的命令可以帮助我们理解数据框中的内容。例如,我们可以获得各种列的描述。如果数据是数字,describe方法将给我们一些基本的描述性统计,如计数、平均值、标准差等:

 image.png

如果数据是分类的,则它提供计数、唯一条目的数量、最高类别等。我们还可以通过描述获得分类数据的有用信息。

 image.png

将新列添加到数据框非常容易。例如,我们可以在上面的数据中添加一个类,如下所示:

 image.png

Pandas还允许我们创建组和聚合:

 image.png

其中,方法.groups包含分组信息,.size返回简单计数。

我们也可以应用聚合函数(aggregation function)。让我们尝试在数据集中计算食草动物和食肉动物的平均四肢数(此处用NumPy中的均值函数(mean)来计算):

 image.png

在上面的例子中,我们使用Python将数据逐行输入到Pandas数据帧中。虽然这对于小型数据集是可行的,但实际上你可能有兴趣从其他来源摄取数据。幸运的是,Pandas拥有非常强大的输入/输出生态系统,能够从众多来源获取数据。表2.5中列出了其中一些来源。

表2.5 Pandas可用的一些输入源

image.png

 

Pandas是一种函数多样且功能丰富的工具,上述简短的讨论中只触及了皮毛而已。我们将在本书的其余部分广泛使用Pandas,并且只要有可能,我们将提供解释以帮助大家讨论。尽管如此,我们强烈建议你深入了解这个伟大的类库。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。