
洞悉文本数据
|
29
理函数作为第三个参数,对文本进行即时分词。举个例子,我们可以通过下述即时
分词来生成并计算所有包含
10
个或
10
个以上字符的单词:
count_words(df, column='text',
preprocess=lambda text: re.findall(r"\w{10,}", text))
count_words
的最后一个参数定义了返回结果中词语的最低词频要求。其默认值为
2
,
目的是为了剪断由罕用词(即只出现过一次的词语)构成的长尾。
1.6.2
案例:创建词频图
用
Python
生成表格和图表的方法有很多种。我们更喜欢
Pandas
内置的
绘图功能,因为它比单纯的
Matplotlib
更加易于使用。这里,我们使用
前面生成的数据框
freq_df
进行可视化。根据这种数据框创建词频图基本上只需要
一行代码。我们再加两行来设置格式:
ax = freq_df.head(15).plot(kind='barh', width=0.95)
ax.invert_yaxis()
ax.set(xlabel='Frequency', ylabel='Token', title='Top Words')
输出结果:
Blueprint: Creating a Frequency Diagram
There are dozens of ways to produce tables and diagrams in Python. We
prefer Pandas with its ...