iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > Python >详解Python中的数据清洗工具flashtext
  • 654
分享到

详解Python中的数据清洗工具flashtext

2024-04-02 19:04:59 654人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录1、准备flashtext环境2、添加关键词3、提取关键词4、替换关键词5、获取所有关键词6、批量的添加关键词7、批量删除关键词8、执行效率对比在平常的一些的小规模的数据的过滤、

在平常的一些的小规模的数据的过滤、清洗过程中使用最多的就是正则表达式,但是随着数据规模的增大,正则表达式就显得有些心有余力不足了。

正则表达式在一个 10k 的词库中查找 15k 个关键词的时间差不多是 0.165 秒。但是对于 Flashtext 而言只需要 0.002 秒。因此,在这个问题上 Flashtext的速度大约比正则表达式快 82 倍。

从上面的示例图的性能对比中,可以发现随着我们需要处理的字符越来越多,正则表达式的处理速度几乎都是线性增加的。然而,Flashtext 几乎是一个常量。

1、准备flashtext环境

通过pip的方式来安装flashtext,或是其他的方式也是可以的,这里默认使用的是清华大学的镜像站。

pip install flashtext -i https://pypi.tuna.tsinghua.edu.cn/simple

在准备好flashtext环境以后,来看一下flashtext重要的使用过程,帮助我们能更好的完成数据清洗操作。

2、添加关键词

这里添加关键词时是通过单个关键词的来添加到关键词词库中,使用add_keyWord函数来添加。第一次参数表示需要添加的关键词,第二个参数则表示为第一个关键词的别名,如果关键词被找到了则显示为别名的形式,若是没有使用第二个参数作为别名则还是显示原有的名称。

from flashtext import KeywordProcessor

# 初始化关键词库处理器
processor = KeywordProcessor()

# 常规方式添加关键词
processor.add_keyword('python')

# 别名方式添加关键词
processor.add_keyword('Scala', 'Java')

这样分别使用两种方式已经将需要的关键词添加到词库处理器中了。

3、提取关键词

通过上一步添加关键词,现在词库处理器中已经存在有关键词的信息了,再使用extract_keywords将关键词提取出来即可。

# 在一个字符串中提取出关键词信息
found = processor.extract_keywords('I like Python and Scala.')

# 结果
print(found)

# ['Python', 'Java']

结果出来了,跟我们预想的是一样的,并Scala也显示为了Java。

4、替换关键词

替换关键词使用的是replace_keywords函数,前提是词库中拥有别名的词才能被替换,就像上面的Scala被显示成了的Java一样。

替换一个字符串中的Scala关键词,由于Scala对应的别名是Java,所以一个字符串中的Scala应该被替换为Java。

replaced = processor.replace_keywords('I like Scala.')

# 结果
print(replaced)

# I like Java.
# Scala 果真就被替换为了Java。

5、获取所有关键词

有些时候,在KeywordProcessor词库处理器中添加了哪些关键词可能自己都记不清楚了,这个时候可以使用get_all_keywords函数来获取当前的所有关键词。

all_keywords = processor.get_all_keywords()

# 结果
print(all_keywords)
# {'python': 'Python', 'scala': 'Java'}

6、批量的添加关键词

当关键词库需要更多的关键词的时候,可以通过列表或是字典的方式来进行批量的添加。对应的函数分别是add_keywords_from_list、add_keywords_from_dict函数。

# 初始化一个字典通过用来做批量添加
dict_ = {
    'java': ['java_ee', 'java_se', 'java_me'],
    'python': ['pandas', 'all']
}

# 通过字典的方式来批量添加关键词
processor.add_keywords_from_dict(dict_)

# 从批量添加的关键词中匹配关键词
result = processor.extract_keywords('looking for java_ee and pandas.')

# 结果
print(result)

# ['java', 'python']
# 通过列表的方式批量添加关键词

processor.add_keywords_from_list(['scala', 'python', 'scala', 'Go'])

# 通过get_all_keywords查看一下所有关键词
all_keywords = processor.get_all_keywords()

# 结果
print(all_keywords)
# {'python': 'python', 'pandas': 'python', 'scala': 'scala', 'java_ee': 'java', 'java_se': 'java', 'java_me': 'java', 'all': 'python', 'go': 'go'}

发现所有的关键词已经添加到词库处理器中,并且重复的不会再次添加。

7、批量删除关键词

批量删除词库处理器中的关键词同样是有两种方式,一个是列表、另一个是字典。对应的函数分别是remove_keywords_from_list、remove_keywords_from_dict函数。

# 批量移除列表中的关键词
processor.remove_keywords_from_list(['python','java_ee','java_me'])

# 批量移除字典中的关键词
processor.remove_keywords_from_dict({'python': ['pandas','all']})

# 通过get_all_keywords查看一下所有关键词
all_keywords = processor.get_all_keywords()

# 结果
print(all_keywords)

# {'scala': 'scala', 'java_se': 'java', 'go': 'go'}

发现需要移除的关键词已经被全部移除了。

8、执行效率对比

为了更可观的展示效果,找了两个flashtext在搜索和替换关键词过程中的效率对比图可以一目了然。

flashtext、正则表达式搜索效率对比

flashtext、正则表达式搜索替换对比

以上就是详解Python中的数据清洗工具flashtext的详细内容,更多关于Python数据清洗的资料请关注编程网其它相关文章!

--结束END--

本文标题: 详解Python中的数据清洗工具flashtext

本文链接: https://www.lsjlt.com/news/152685.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 详解Python中的数据清洗工具flashtext
    目录1、准备flashtext环境2、添加关键词3、提取关键词4、替换关键词5、获取所有关键词6、批量的添加关键词7、批量删除关键词8、执行效率对比在平常的一些的小规模的数据的过滤、...
    99+
    2024-04-02
  • Python数据清洗工具之Numpy的基本操作
    目录1. Numpy(Numberical Python)1.1 这库的安装方法2.Numpy的基础操作2.1 数组的创建:np.arrary()2.2 N维数组的创建2.3 常用数...
    99+
    2024-04-02
  • Python实现数据清洗的示例详解
    目录前言去掉信息不全的用户描述答案修补缺失的用户数据描述答案解决牛客网用户重复的数据描述答案统一最后刷题日期的格式描述答案将用户的json文件转换为表格形式描述答案前言 Python...
    99+
    2024-04-02
  • python清洗疫情历史数据的过程详解
    目录1. 数据获取2. 使用python读取csv3.使用pyhon进行数据清洗4. 将清洗的数据自动导入MySql在我2020年大三的一个实训的大作业中,我整了一个新冠肺炎疫情的数...
    99+
    2024-04-02
  • Python 八个数据清洗实例代码详解
    如果你经历过数据清洗的过程,你就会明白我的意思。而这正是撰写这篇文章的目的——让读者更轻松地进行数据清洗工作。 事实上,我在不久前意识到,在进行数据清洗时,有...
    99+
    2024-04-02
  • Python中的数据清洗方法是什么
    这里数据清洗需要用到的库是pandas库,下载方式还是在终端运行 : pip install pandas.首先我们需要对数据进行读取import pandas as pd data = pd.read_csv(r'E:\PYt...
    99+
    2023-05-14
    Python
  • 详解Python如何利用Pandas与NumPy进行数据清洗
    目录准备工作DataFrame 列的删除DataFrame 索引更改DataFrame 数据字段整理str 方法与 NumPy 结合清理列apply 函数清理整个数据集DataFra...
    99+
    2024-04-02
  • 怎么在Python中使用numpy清洗数据
    这篇文章给大家介绍怎么在Python中使用numpy清洗数据,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、嵌入式应用...
    99+
    2023-06-14
  • Go语言Elasticsearch数据清理工具思路详解
    微服务架构中收集通常大家都采用ELK进行日志收集,同时我们还采用了SkyWalking进行链路跟踪,而SkyWalking数据存储也用到了ES,SkyWalking每天产生大量的索...
    99+
    2024-04-02
  • python数据清洗中的时间格式化实现
    目录1.字符串转时间2.时间转字符串3.时间戳相互转换4.python中时间日期格式化符号:1.字符串转时间 from datetime import datetime t = '2...
    99+
    2024-04-02
  • 解密数据库数据清洗:重塑数据的魔力
    数据清洗的必要性 数据库中的数据可能会随着时间的推移而出现各种问题,如重复、缺失、错误、不一致和格式不统一。这些数据质量问题会严重影响数据的准确性和可靠性,导致分析结果失真,决策失误。因此,对数据库数据进行清洗至关重要。 数据清洗的原理...
    99+
    2024-02-16
    数据清洗 数据质量 数据处理 数据库
  • python操作excel实现数据清洗的示例
    本文将为大家详细介绍“python操作excel实现数据清洗的示例”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“python操作excel实现数据清洗的示例”能够给你意想不到的收获,请大家跟着小编的思路慢慢深...
    99+
    2023-06-06
  • 怎么在Python中使用Pandas进行数据清洗
    怎么在Python中使用Pandas进行数据清洗?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。python的五大特点是什么python的五大特点:1.简单易学,...
    99+
    2023-06-14
  • 如何在Python中进行数据清洗和处理
    如何在Python中进行数据清洗和处理数据清洗和处理是数据分析和挖掘过程中非常重要的一步。清洗和处理数据可以帮助我们发现数据中的问题、缺失或异常,并且为后续的数据分析和建模提供准备。本文将介绍如何使用Python进行数据清洗和处理,并提供具...
    99+
    2023-10-22
    Python编程(Python programming) 数据清洗(Data Cleaning) 数据处理(Data P
  • 数据清洗的终结者:消灭数据中的杂质
    数据是现代企业的重要资产,其质量对于决策制定至关重要。然而,现实世界中的数据往往参差不齐,充斥着各种杂质,包括缺失值、异常值、重复值和不一致数据。这些杂质会严重影响数据分析的准确性和可靠性,从而导致错误的决策和损失。 数据清洗的挑战 数...
    99+
    2024-02-16
    数据清洗 数据质量 数据处理 数据分析 数据科学
  • Python 数据清洗删除缺失值替换缺失值详情
    目录一、缺失数据剔除1. python 方式2. DataFrame 方式二、缺失值补全三、重复值剔除(按照行和列)四、数值转换1. replace2. apply3.applyma...
    99+
    2024-04-02
  • 利用Python进行数据清洗的操作指南
    目录缺失值异常值数据不一致无效数据重复数据数据泄漏问题你一定听说过这句著名的数据科学名言: 在数据科学项目中, 80% 的时间是在做数据处理。 如果你没有听过,那么请记住:数据清洗是...
    99+
    2024-04-02
  • Python如何实现Excel数据的探索和清洗
    这篇文章主要介绍了Python如何实现Excel数据的探索和清洗,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。python是什么意思Python是一种跨平台的、具有解释性、编...
    99+
    2023-06-14
  • 使用Python进行数据清洗的完整指南
    你一定听说过这句著名的数据科学名言:在数据科学项目中, 80% 的时间是在做数据处理。如果你没有听过,那么请记住:数据清洗是数据科学工作流程的基础。 机器学习模型会根据你提供的数据执行,混乱的数据会导致性能下降甚至错误的结果,而干净的数据是...
    99+
    2023-05-14
    Python 数据集 数据清洗
  • proc sql语句在数据清洗中的运用
    本篇内容介绍了“proc sql语句在数据清洗中的运用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!lib...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作