在数据科学领域,Pandas库以其强大的数据处理能力而广受赞誉。根据StackOverflow的调查,Pandas是全球第四大最常用的库/框架。Pandas 1.0版本的发布带来了许多重大更新和新特性,本文将详细介绍这些变化,并提供代码示例以帮助理解。
数据分析是机器学习生命周期中的关键部分,它涉及检查数据、理解每个组成部分,并从手头的数据中生成有用的见解。深入理解数据将有助于在项目的各个方面,无论是机器学习竞赛还是关键的业务决策。
有许多工具可以帮助分析和理解数据,例如MS Excel、SAS、Python、R等。个人更喜欢Python,并且自从开始在数据科学领域工作以来,一直在使用它进行数据分析和可视化。
Pandas库的设计使得数据操作、读取、聚合和基本可视化变得快速而简单。如果是Pandas的常规用户,会注意到Pandas 1.0。
如果使用的是旧版本的Python,请注意:这个最新的Pandas版本不再支持Python 2.x。Pandas 1.0需要Python 3.6或更高版本!
python --version
可以使用上述命令检查当前的Python版本。如果系统中安装的是带有2.x名称的旧版本,必须在安装新版本的Pandas之前升级它。
$ pip install --upgrade pandas==1.0.0rc0
要检查安装是否成功,使用命令:
$ pip show pandas
输出将显示Pandas的名称、版本和摘要。
Pandas 1.0版本中有一些非常令人兴奋的新增功能和许多错误修复。可以在上查看完整的增强功能和错误修复列表。在本文中,列出了一些主要功能以及它们在数据分析过程中的用途。
这个特性真的引起了注意!在数据中,不同类型的变量或特征有不同的分析技术。因此,在深入数据分析过程之前,正确识别正在处理的变量类型非常重要。
在Pandas的早期版本中,对整数和浮点值有不同的数据类型(分别是int和float),而其他所有内容都归入'object'数据类型。这意味着字符串或文本也将被归类为对象。
tweets_data.dtypes
输出将显示id为int64,label和tweet为object。这是因为Pandas只有一个数据类型用于两者——类别和字符串。不再是这样了!
Pandas 1.0引入了专用于字符串的数据类型。可以使用astype()函数轻松更改数据类型:
tweets_data['tweet'] = tweets_data['tweet'].astype("string")
现在,当使用select_dtypes()函数时,可以轻松分离和分析类别和基于文本的特征:
tweets_data.select_dtypes("string")
经常从不同的来源提取数据,可能会有缺失或不明确的值,表示为“不可用”或“缺失”。通常,这些值会被替换为np.nan、None或pd.NaT,具体取决于数据类型。
Pandas 1.0引入了一个新的“Singleton”值来表示标量缺失值——pd.NA。这将用于所有数据类型——整数、浮点数,甚至是对象。以下是如何使用它的方法:
pd.NA
这可以用于任何变量,无论其数据类型如何。尽管pd.NA与np.nan和pd.NaT一样用于表示缺失值,但在某些算术操作中它的行为不同(例如,当np.nan与整数比较时,输出是False):
np.nan > 1
但当使用新特性pd.NA进行比较时,它将返回一个空值:
pd.NA > 1
在数据分析过程中,都曾使用过info()和describe()函数来生成Pandas数据框架的简洁摘要。info()函数简单地返回每个列的数据类型和每个列中的值的计数。
使用Pandas 1.0,info()函数返回的是以表格形式的详细信息,包括索引值和标题。输出更加有组织和易读。
Pandas 1.0为数据框架提供了Markdown友好的格式。这在通过gists显示表格时非常方便。要将任何数据框架转换为Markdown表格格式,可以使用新引入的to_markdown()函数:
df.to_markdown()
注意:要使用to_markdown()函数,必须在系统中安装了tabulate。可以简单地使用pip进行安装:
$ pip install tabulate
Pandas是数据分析的基本工具,其第一个主要版本包括一些非常有趣的特性和增强功能!尝试这些新特性并将其带给社区是一次很棒的体验。
可以在这里查看完整的功能和错误修复列表——。在评论区告诉最喜欢的特性。