8.数据清洗

本文介绍了数据清洗的过程,包括使用n-gram进行文本分析,通过修改代码实现2-gram序列的频率统计。同时,讨论了数据标准化的重要性,并提到了OpenRefine工具,详细说明了其安装、使用方法以及数据筛选和变换功能,帮助提升数据清洗效率。
摘要由CSDN通过智能技术生成

1.编写代码清洗数据
语言学里有一个模型叫 n-gram,表示文字或语言中 n 个连续的单词组成的序列。在进行自然语言分析时,使用 n-gram 或者寻找常用词组,可以很容易地把一句话分解成若干个文字片段。
维基百科词条“Python programming language”中找到的 2-gram 列表,代码如下:

# -*- coding: GBK -*-
from urllib.request import urlopen
from bs4 import BeautifulSoup

def getNgrams(content, n):
	content = content.split(' ')	#指定分隔符对字符串进行切片,组成字符串列表
	output = []
	for i in range(len(content)-n+1):
		output.append(content[i:i+n])
	return output
	
html = urlopen('http://pythonscraping.com/pages/warandpeace.html')
bs = BeautifulSoup(html, 'html.parser')
content = bs.find('div', {
   'id': 'text'}).get_text()
ngrams = getNgrams(content, 2)
print(ngrams)
print('2-grams count is: '+str(len(ngrams)))

在这里插入图片描述
上述代码有时也返回零散数据,需要用一些正则表达式来移除转义字符(如 \n&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值