
110
|
第
4
章
db_name = "reddit-selfposts.db"
con = sqlite3.connect(db_name)
df.to_sql("posts", con, index=False, if_exists="replace")
con.close()
我们可以通过
pd.read_sql()
恢复数据框:
con = sqlite3.connect(db_name)
df = pd.read_sql("select * from posts", con)
con.close()
4.4
清理文本数据
在处理用户的帖子或评论时,由于这些文本都不是精心编辑的文章,因此常常会遇
到诸多质量问题:
特殊的格式和程序代码
这类文本可能包含特殊字符、
HTML
实体、
Markdown
标签等。这些东西都应该
提前清理,因为它们会加剧分词的复杂度,而且还会引入噪声。
称呼、签名、地址等
个人交流经常包含没有太多含义的礼貌用语和称呼,通常对分析毫无帮助。
回复
如果文本包含某个问题的答案,而且答案重复了问题的文本,则需要删除重复
的问题。保留这些文本会影响模型和统计数据。
在本节中,我们将展示如何使用正则表达式来识别和删除数据中不需要的模式。有
关
Python
中正则表达式的更多详细信息,请参见下列说明。
正则表达式
正则表达式是处理文本数据的基本工具。我们不仅可以利用正则表达式进行分
词和数据清理,而且还可以利用它们识别和处理邮件地址、称呼、程序代码等。
Python 提供了标准的正则表达式库
re
,还有一个向后兼容的新库 ...