返回顶部
首页 > 资讯 > 后端开发 > Python >Python中怎么清理文本数据
  • 260
分享到

Python中怎么清理文本数据

2023-06-16 00:06:03 260人浏览 独家记忆

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

摘要

python中怎么清理文本数据,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.文本小写在我们开始处理文本之前,最好先将所有字符都小写。我们这样做的原因是为了避

python中怎么清理文本数据,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

1.文本小写

在我们开始处理文本之前,最好先将所有字符都小写。我们这样做的原因是为了避免区分大小写的过程。

假设我们想从字符串中删除停止词,正常操作是将非停止词合并成一个句子。如果不使用小写,则无法检测到停止词,并将导致相同的字符串。这就是为什么降低文本大小写这么重要了。

Python实现这一点很容易。代码是这样的:

# 样例 x = "Watch This airport Get Swallowed Up By A SandstORM In Under A Minute Http://t.co/TvYQczGJdy" # 将文本小写 x = x.lower() print(x) >>> watch this airport get swallowed up by a sandstorm in under a minute http://t.co/tvyqczgjdy

2.删除 Unicode 字符

一些文章中可能包含 Unicode 字符,当我们在 ASCII 格式上看到它时,它是不可读的。大多数情况下,这些字符用于表情符号和非 ASCII  字符。要删除该字符,我们可以使用这样的代码:

# 示例 x = "Reddit Will Now Quarantine‰Û_ http://t.co/pkUAMXw6pm #onlinecommunities #reddit #amageddon #freespeech #Business http://t.co/PAWvNJ4sAP" # 删除 unicode 字符 x = x.encode('ascii', 'ignore').decode() print(x) >>> Reddit Will Now Quarantine_ http://t.co/pkUAMXw6pm #onlinecommunities #reddit #amageddon #freespeech #Business http://t.co/PAWvNJ4sAP

3.删除停止词

停止词是一种对文本意义没有显著贡献的词。因此,我们可以删除这些词。为了检索停止词,我们可以从 NLTK 库中下载一个资料库。以下为实现代码:

import nltk nltk.download() # 只需下载所有nltk stop_Words = stopwords.words("english") # 示例 x = "America like South Africa is a traumatised sick country - in different ways of course - but still messed up." # 删除停止词 x = ' '.join([word for word in x.split(' ') if word not in stop_words]) print(x) >>> America like South Africa traumatised sick country - different ways course - still messed up.

4.删除诸如提及、标签、链接等术语。

除了删除 Unicode 和停止词外,还有几个术语需要删除,包括提及、哈希标记、链接、标点符号等。

要去除这些,如果我们仅依赖于已经定义的字符,很难做到这些操作。因此,我们需要通过使用正则表达式(Regex)来匹配我们想要的术语的模式。

Regex 是一个特殊的字符串,它包含一个可以匹配与该模式相关联的单词的模式。通过使用名为 re. 的 Python  库搜索或删除这些模式。以下为实现代码:

import re # 删除提及 x = "@DDNewsLive @NitishKumar  and @ArvindKejriwal can't survive without referring @@narendramodi . Without Mr Modi they are BIG ZEROS" x = re.sub("@\S+", " ", x) print(x) >>>      and   can't survive without referring   . Without Mr Modi they are BIG ZEROS # 删除 URL 链接 x = "Severe Thunderstorm pictures from across the Mid-South http://t.co/UZWLgJQzNS" x = re.sub("https*\S+", " ", x) print(x) >>> Severe Thunderstorm pictures from across the Mid-South # 删除标签 x = "Are people not concerned that after #SLAB's obliteration in Scotland #Labour UK is ripping itself apart over #Labourleadership contest?" x = re.sub("#\S+", " ", x) print(x) >>> Are people not concerned that after   obliteration in Scotland   UK is ripping itself apart over   contest? # 删除记号和下一个字符 x = "Notley's tactful yet very direct response to Harper's attack on Alberta's Gov't. Hell YEAH Premier! http://t.co/rzSUlzMOkX #ableg #cdnpoli" x = re.sub("\'\w+", '', x) print(x) >>> Notley tactful yet very direct response to Harper attack on Alberta gov. Hell YEAH Premier! http://t.co/rzSUlzMOkX #ableg #cdnpoli # 删除标点符号 x = "In 2014 I will only smoke crqck if I becyme a mayor. This includes Foursquare." x = re.sub('[%s]' % re.escape(string.punctuation), ' ', x) print(x) >>> In 2014 I will only smoke crqck if I becyme a mayor. This includes Foursquare. # 删除数字 x = "C-130 specially modified to land in a stadium and rescue hostages in Iran in 1980... http://t.co/tNI92fea3u http://t.co/czBaMzq3gL" x = re.sub(r'\w*\d+\w*', '', x) print(x) >>> C- specially modified to land in a stadium and rescue hostages in Iran in ... http://t.co/ http://t.co/ #替换空格 x = "     and   can't survive without referring   . Without Mr Modi they are BIG ZEROS" x = re.sub('\s{2,}', " ", x) print(x) >>>  and can't survive without referring . Without Mr Modi they are BIG ZEROS

5.功能组合

在我们了解了文本预处理的每个步骤之后,让我们将其应用于列表。如果仔细看这些步骤,你会发现其实每个方法都是相互关联的。因此,必须将其应用于函数,以便我们可以按顺序同时处理所有问题。在应用预处理步骤之前,以下是文本示例:

Our Deeds are the Reason of this #earthquake May ALLAH Forgive us all Forest fire near La Ronge Sask. Canada All residents asked to 'shelter in place' are being notified by officers. No other evacuation or shelter in place orders are expected 13,000 people receive #wildfires evacuation orders in California  Just got sent this photo from Ruby #Alaska as smoke from #wildfires pours into a school

在预处理文本列表时,我们应先执行几个步骤:

  • 创建包含所有预处理步骤的函数,并返回预处理的字符串

  • 使用名为"apply"的方法应用函数,并使用该方法将列表链接在一起。

代码如下:

# 导入错误的情况下 # ! pip install nltk # ! pip install textblob import numpy as np import matplotlib.pyplot as plt import pandas as pd import re import nltk import string from nltk.corpus import stopwords # # 如果缺少语料库 # 下载 all-nltk nltk.download() df = pd.read_csv('train.csv') stop_words = stopwords.words("english") wordnet = WordNetLemmatizer() def text_preproc(x):   x = x.lower()   x = ' '.join([word for word in x.split(' ') if word not in stop_words])   x = x.encode('ascii', 'ignore').decode()   x = re.sub(r'https*\S+', ' ', x)   x = re.sub(r'@\S+', ' ', x)   x = re.sub(r'#\S+', ' ', x)   x = re.sub(r'\'\w+', '', x)   x = re.sub('[%s]' % re.escape(string.punctuation), ' ', x)   x = re.sub(r'\w*\d+\w*', '', x)   x = re.sub(r'\s{2,}', ' ', x)   return x df['clean_text'] = df.text.apply(text_preproc)

上面的文本预处理结果如下:

deeds reason may allah forgive us forest fire near la ronge sask canada residents asked place notified officers evacuation shelter place orders expected  people receive evacuation orders california  got sent photo ruby smoke pours school

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网Python频道,感谢您对编程网的支持。

--结束END--

本文标题: Python中怎么清理文本数据

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

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

猜你喜欢
  • Python中怎么清理文本数据
    Python中怎么清理文本数据,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.文本小写在我们开始处理文本之前,最好先将所有字符都小写。我们这样做的原因是为了避...
    99+
    2023-06-16
  • 怎么使用Python处理文本数据
    本篇内容介绍了“怎么使用Python处理文本数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!用python处理文本数据实验目的熟悉pyth...
    99+
    2023-07-02
  • SQL中怎么处理文本数据
    SQL中怎么处理文本数据,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。导入数据  为了简单,我们用一个只有三行(三个文档)的文本文件(a....
    99+
    2024-04-02
  • Caffe中怎么处理文本数据
    在Caffe中处理文本数据通常需要进行以下步骤: 数据预处理:将文本数据转换成适合Caffe处理的格式,一般是将文本数据转换成图...
    99+
    2024-03-07
    Caffe
  • Oracle怎么清理数据库中没用的文件
    本篇内容主要讲解“Oracle怎么清理数据库中没用的文件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle怎么清理数据库中没用的文件”吧!Oracle清...
    99+
    2024-04-02
  • R语言怎么进行文本数据清洗和预处理
    在R语言中进行文本数据清洗和预处理通常涉及以下步骤: 文本数据导入:使用适当的函数(如readLines()、read.csv(...
    99+
    2024-03-04
    R语言
  • 云服务器清空数据盘怎么清理文件
    一、清空云服务器数据盘的步骤 首先,在开始菜单中搜索“控制面板”并打开。 在控制面板中,选择“管理工具”。 在管理工具中,选择“服务”。 在服务窗口中,找到“DNS Service”服务。 单击“停止”按钮,停止该服务。 在“服务状态”...
    99+
    2023-10-28
    清空 服务器 文件
  • 怎么清理Docker数据
    这篇文章主要介绍了怎么清理Docker数据,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Docker 不会对你的系统进行任何配置更改……但是它会占用大量的磁盘空间。(使用 D...
    99+
    2023-06-20
  • Rspec中怎么清理陈旧数据
    这篇文章将为大家详细讲解有关Rspec中怎么清理陈旧数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Rails Rspec后台默认事务如果使用rails-...
    99+
    2024-04-02
  • python中怎么处理文本
    这篇文章给大家介绍python中怎么处理文本,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。python处理文本使用方法我们的目的是把记录中包含January的名字列出来,符合“名字 -- 描述”格式的行为有效行。编写p...
    99+
    2023-06-17
  • 云服务器清理缓存数据怎么清理
    云服务器通常会存储大量数据,因此需要定期清理缓存数据以确保数据的可用性和安全性。以下是一个简单的清理过程示例: 检查日志和警告信息:确保日志和警告信息已被正确处理,以防止数据损坏或意外。 删除不需要的文件和文件夹:删除不需要的数据以释放...
    99+
    2023-10-26
    缓存 服务器 数据
  • 怎么在Python中使用numpy清洗数据
    这篇文章给大家介绍怎么在Python中使用numpy清洗数据,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、嵌入式应用...
    99+
    2023-06-14
  • 如何用python清洗文件中的数据
    目录简单版使用filter读取utf-8带bom的文件多文件清洗清洗数据同时记录订单号并排序清洗sql文件,将数据表名放入excel中总结简单版 直接打开日志文件,往另外一个文件中按照要过滤的要求进行过滤 im...
    99+
    2022-06-02
    python 数据清洗
  • 使用Python怎么清洗数据
    今天就跟大家聊聊有关使用Python怎么清洗数据,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。下面我们用一副待清洗的扑克牌作为示例,假设它保存在代码文件相同的目录下,在 Jupyte...
    99+
    2023-06-16
  • Python怎么实现数据清洗
    本文小编为大家详细介绍“Python怎么实现数据清洗”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python怎么实现数据清洗”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。这里数据清洗需要用到的库是pandas...
    99+
    2023-07-06
  • 云服务器怎么清理缓存文件数据
    云服务器的缓存文件是用来存储数据的,如果清理缓存文件数据,可以从以下几个步骤进行: 打开控制面板:点击 控制面板,然后双击“系统和安全”。 双击“管理工具”。 点击“服务”,然后找到“AWS Apsara Cloud”服务。 找到 AW...
    99+
    2023-10-26
    缓存 服务器 文件
  • 云服务器怎么清理缓存数据文件
    云服务器的缓存数据文件是由客户端在使用时存储在服务器上的,可以通过清理缓存来实现对其的有效管理。以下是一些常见的方法: 手动删除:使用一些工具或脚本程序可以自动删除已经缓存的数据文件。在清理过程中,请确保对数据文件进行备份或还原,这样才...
    99+
    2023-10-26
    缓存 服务器 文件
  • MySQL线上数据库怎么清理数据
    这篇文章将为大家详细讲解有关MySQL线上数据库怎么清理数据,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。01 场景分析 今天下午,开发的同事提来一个需求,需要在线上要删除一些数据记录,简单看了...
    99+
    2023-06-14
  • CNTK怎么处理文本数据和图像数据
    CNTK(Microsoft Cognitive Toolkit)是一个深度学习框架,可以用来处理文本数据和图像数据。以下是CNTK...
    99+
    2024-04-02
  • Chainer怎么处理文本数据和图像数据
    Chainer可以处理文本数据和图像数据并进行相应的预处理操作。以下是Chainer处理文本数据和图像数据的一般步骤: 处理文本数据...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作