其他分享
首页 > 其他分享> > 使用 Pandas 和正则表达式轻松转换数据

使用 Pandas 和正则表达式轻松转换数据

作者:互联网

使用 Pandas 和正则表达式轻松转换数据

介绍

让我们根据问题陈述使用 pandas 和正则表达式轻松转换此数据集。

在这个项目的提取阶段,我向您介绍了如何抓取 易趣网 网站。你可以找到链接 萃取阶段

在此转换阶段,您将了解将这 3 个字段数据集转换为 11 个字段数据集的所有思考过程。

为了正确理解你要去哪里,重要的是你要记住问题陈述是什么。

问题陈述

Global Sygnature 是一家在哈科特港市销售新笔记本电脑的公司,其 CEO 收到了很多关于质量相当好的笔记本电脑的要求。他决定进入这一业务领域以扩展他们提供的服务。

他遇到了商业情报机构 Primedsoft,帮助他从 ebay 中提取有关笔记本电脑的数据。他说他希望看到以下指标:

这些指标将构成转型阶段的核心。您希望将此数据集转换为有助于获取这些指标的字段和数据类型。

这里的另一个重要技能是对业务领域的正确理解。领域知识的重要性怎么强调都不为过。

例如,对计算机硬件的正确理解会表明,RAM和处理器等配件是影响笔记本电脑价格的关键数据。大多数买家在决定购买该系统之前也会考虑品牌。

快速浏览数据集会发现“圈详细信息”字段中有很多数据点。这些数据点是我们旨在提取和形成新字段的目标。

导入 Numpy 和 Pandas 库和常规 REGEX 模块

我们将使用 python 中的 pandas 库和正则表达式模块来进行这种转换。首先导入此转换所需的必要库和模块。

代码片段中的最后一个设置是告诉 pandas 显示每列的整个宽度。在这个阶段,我希望您具备 pandas 的工作知识。所以我继续导入数据集所在的 csv 文件,并使用 .head() 方法检查前 5 列。

使用正则表达式从现有列创建新列

在这里,我想从“实验室详细信息”列中提取驱动器。因此,我在正则表达式中使用了 extract 方法来获取所有附有 GB 的数字的所有实例。这将返回它的第一次出现。

现在,我使用相同的方法提取并创建“RAM”、“RAM 大小”和“Laptop OS”列。

但是,有些列需要 switch 语句。为了通过 pandas 实现这一点,我使用了 numpy where.() 方法。

因此,通过上面的代码片段,我创建了“Lap OS”、“Drive Type”、“Processor Type”和“Laptop Brand”。这完成了我们需要的所有必要列。

在这里,我将所有字段重命名为蛇案例命名约定。这将实现一致性。

然后用空字符串替换逗号的所有实例。

原因是因为我们将它保存为 csv 格式,它将每次出现的逗号作为一个新列,这反过来会创建比变量中声明的更多的列。

结论

我们已经能够将一列转换为其他几列。让我们将此数据帧保存在 csv 文件中,以供项目的下一阶段使用,即将其加载到 postgres 数据库中。现在这个项目逐渐看起来像我们想要的。

最初发表于 https://blog.dekings.dev 2022 年 9 月 11 日。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/29436/26221201

标签:转换,正则表达式,RAM,轻松,Pandas,笔记本电脑,数据,pandas
来源: https://www.cnblogs.com/amboke/p/16685293.html