Python数据分析从入门到进阶:快速处理文本(含代码)

🍁1. 清洗文本

对一些非结构化的文本数据进行基本的清洗

  • strip
  • split
  • replace
python 复制代码
# 创建文本
text_data = ['   Interrobang. By Aishwarya Henriette   ',
             'Parking And goding. by karl fautier',
             '   Today is the night. by jarek prakash    ']
python 复制代码
# 去除文本两端的空格
stripwhitespace = [string.strip() for string in text_data]
python 复制代码
stripwhitespace
css 复制代码
['Interrobang. By Aishwarya Henriette', 'Parking And goding. by karl fautier', 'Today is the night. by jarek prakash']
python 复制代码
# 删除句号
remove_periods = [string.replace('.','') for string in text_data]
python 复制代码
remove_periods
css 复制代码
['   Interrobang By Aishwarya Henriette   ', 'Parking And goding by karl fautier', '   Today is the night by jarek prakash    ']
python 复制代码
# 创建函数
def capitalizer(string):
    return string.upper()
python 复制代码
[capitalizer(string) for string in remove_periods]
css 复制代码
['   INTERROBANG BY AISHWARYA HENRIETTE   ', 'PARKING AND GODING BY KARL FAUTIER', '   TODAY IS THE NIGHT BY JAREK PRAKASH    ']
python 复制代码
# 使用正则表达式
import re
python 复制代码
def replace_letters_with_x(string):
    return re.sub(r'[a-zA-Z]','x',string)
python 复制代码
[replace_letters_with_x(string) for string in remove_periods]
css 复制代码
['   xxxxxxxxxxx xx xxxxxxxxx xxxxxxxxx   ', 'xxxxxxx xxx xxxxxx xx xxxx xxxxxxx', '   xxxxx xx xxx xxxxx xx xxxxx xxxxxxx    ']

🍂2. 解析并清洗HTML

python 复制代码
#使用beautiful soup 对html进行解析
python 复制代码
from bs4 import BeautifulSoup
python 复制代码
# 创建html代码
html = """
        <div class='full_name'><span style='font-weight:bold'>
        Masege Azra"
    
    """
python 复制代码
# 创建soup对象
soup = BeautifulSoup(html, 'lxml')
python 复制代码
soup.find('div')
xml 复制代码
<div class="full_name"><span style="font-weight:bold">
        Masege Azra"
    
    </span></div>

🍃3. 移除标点

python 复制代码
import unicodedata
import sys
python 复制代码
text_data = ['Hi!!!! I. love. This. Song....',
             '10000% Agree!!!! #LoveIT',
             'Right??!!']
python 复制代码
# 创建一个标点符号字典
punctuation = dict.fromkeys(i for i in range(sys.maxunicode) if unicodedata.category(chr(i)).startswith('P'))
python 复制代码
[string.translate(punctuation) for string in text_data]
css 复制代码
['Hi I love This Song', '10000 Agree LoveIT', 'Right']

🌍4. 文本分词

这里介绍一下jieba库

python 复制代码
python 复制代码
import jieba
python 复制代码
# 创建文本
string = 'The science of study is the technology of tomorrow'
python 复制代码
seg = jieba.lcut(string)
print(seg)
css 复制代码
['The', ' ', 'science', ' ', 'of', ' ', 'study', ' ', 'is', ' ', 'the', ' ', 'technology', ' ', 'of', ' ', 'tomorrow']

当然,本文只是介绍了在数据清洗中的一些最基本的文本处理方法,后续还会介绍目前NLP的一些主流方法和代码。

相关推荐
databook10 小时前
Manim实现闪光轨迹特效
后端·python·动效
Juchecar11 小时前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
用户83562907805111 小时前
Python 删除 Excel 工作表中的空白行列
后端·python
Json_11 小时前
使用python-fastApi框架开发一个学校宿舍管理系统-前后端分离项目
后端·python·fastapi
RestCloud11 小时前
数据传输中的三大难题,ETL 平台是如何解决的?
数据分析·api
数据智能老司机18 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机19 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机19 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机19 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i19 小时前
drf初步梳理
python·django