掌握 Pandas:下一个项目的重要 Pandas 函数
已发表: 2020-11-30Pandas 库一直是所有数据科学家或分析师的最爱,因为它易于使用、功能广泛且对结果的更好解释。 建议任何开始数据科学之旅的人对 pandas 有很好的掌握,提出管道以减少清理和预处理数据的手动工作量。
Pandas 建立在 Numpy 之上,可以更快地执行命令并在更短的时间内完成工作。 在本文中,我们将分享一些被低估的 pandas 函数,它们可以丰富您的项目的代码质量。
在继续之前,这里有一个简短的传说:
- 提到的所有命令都假设数据框被命名为“df”,它是 pd.DataFrame() 的一个对象
- Pandas 库已作为“pd”的别名导入。
目录
字符串访问器
字符串或文本数据是数据集的主要部分。 无论是与作者、书名、书籍出版相关的信息,还是为特定主题标签制作的推文,我们都有大量文本数据,这些数据在适当清理后会派上用场,并提供给任何分类器,如朴素贝叶斯等. 这里有一些你可以应用的技巧:
- 要访问字符串类型数据,请使用“str”访问器。 例如,df['column_name'].str
- 这使得对所选列执行所有字符串操作成为可能。
- 一些常见的操作包括,
- df['column_name'].str.len(): 每个字符串的长度
- .str.split():在特定字符处分割
- .str.contains():返回关于特定单词是否存在于字符串中的 T/F
- .str.count():返回满足传递的正则表达式的行数。
- .str.findall():返回与传递的表达式匹配的结果。
- .str.replace():与 findall 相同,但此处匹配项的替换发生
- 支持所有字符串操作,例如 .title、.isalpha、.isalnum、.isdecimal 等。
另请阅读:Pandas Dataframe Astype
日期时间访问器
日期和时间通常以时间戳、开始时间、结束时间或与该事件相关的任何其他时间的形式存在于数据集中。 正确解析这些数据很有用,因为它可以沿时间线提供趋势,可以用来预测未来事件,或者我们将其称为时间序列分析。 让我们看看一些有用的命令:
- 要访问 DateTime 数据,请使用 pd.to_datetime() 函数将当前数据类型(日期值解析为字符串或对象)转换为 DateTime。
- 现在,使用“.dt”访问器,我们可以访问所需的任何日期时间信息,例如:
- df['column_name'].dt.day:返回日期的天数。
- .dt.time:时间
- .dt.year:日期的年份
- .dt.month:日期的月份
- .dt.weekday:无论是星期日、星期一……,数字形式,其中0代表星期一。 如果您想要日期名称,请使用 .dt.day_name
- .dt.is_month_start:根据日期是否为月初返回 T/F。
- .dt.is_month_end 与month_start 功能相同,但此处验证了该月的最后一个日期。
- .dt.quater:返回日期所在的季度
- .dt.is_quater_start:返回 T/F 日期是否为季度的第一天
- .dt.is_quater_end:是否是季度的最后一天
- .dt.normalize:当时间分量对分析没有增加有价值的贡献时,可以忽略。 此命令将时间四舍五入到午夜,即 00:00:00。
熊猫绘图
绘图可视化是数据分析的关键组成部分之一,在执行特征工程时起着重要作用。 例如,可以使用表示中位数和四分位数范围的箱线图来检测数据集中的异常值,而将异常值留在最末端。

绘图主要是通过 seaborn、plotly、bokeh、matplotlib 等其他库完成的,但是当您想要在不明确定义库的情况下立即可视化数据时? 熊猫得到了解决方案。 使用 pd.plot() 函数,您可以直接绘制使用 matplotlib 在内部调用的图形。 可用于此的各种选项:
- df.plot() 或 df['column_name'].plot() (取决于图表的类型)
- df.plot() 具有定义图形的参数“种类”。 默认情况下,它是一个“线”图,但其他可用选项是“bar”、“barh”、“box”、“hist”、“kde”等。
- 它调用 matplotlib 后端,这意味着我们可以通过“ax”访问器访问它的参数。
- .plot() 函数还可以接受诸如“title”、“xticks”、“xlim”、“xlabel”、“fontsize”、“colormap”之类的参数,这在一定程度上消除了定义外部库的需要。
杂项功能
- pd.get_dummies():在预处理数据时,有时我们会遇到需要将分类数据转换为数字形式以输入模型的情况。 当这些类别相当低时,首选单热编码,但手动执行此操作需要。 此虚拟函数不仅转换值,而且如果 drop_first 设置为 True,则删除包含所有类别的前一列。
- df.query():它是允许您在数据帧上应用条件掩码的函数。 这与普通掩码的基本区别在于,此函数直接返回值而不是布尔掩码,从而减少了创建掩码并将其应用于数据帧的工作量。
- df.select_dtypes():有时我们需要对一种数据类型执行一些特定的任务。 例如,在从外部文件读取数据时,某些数据类型被定义为对象。 在清理数据时,数据集必须具有所有正确的数据类型,当此类数据类型的数量很大时,通过 df.astype('data-type') 手动执行会很繁琐。 该函数选择指定的数据类型,可以与 .apply() 函数结合使用。 示例代码如下所示:
df.select_dtypes(object).apply(astype(str))
必读:熊猫面试问题
结论
这种分配称为链接,在执行数据科学任务时非常常见,以减少为要执行的每个步骤定义变量的工作量。
如果您想了解 Pandas,请查看 IIIT-B 和 upGrad 的数据科学 PG 文凭,该文凭专为在职专业人士而设,提供 10 多个案例研究和项目、实用的实践研讨会、行业专家指导、一对一-1 与行业导师,400 多个小时的学习和顶级公司的工作协助。