盤點(diǎn)一個(gè)英文文本中統(tǒng)計(jì)關(guān)鍵詞的方法
回復(fù)“資源”即可獲贈(zèng)Python學(xué)習(xí)資料
大家好,我是皮皮。
一、前言
前幾天在Python最強(qiáng)王者交流群【W(wǎng)endy Zheng】問(wèn)了一個(gè)英文文本中統(tǒng)計(jì)關(guān)鍵詞的問(wèn)題,這里拿出來(lái)給大家分享下。

二、實(shí)現(xiàn)過(guò)程
針對(duì)這個(gè)問(wèn)題,本文給出一個(gè)思路方法,也許有幫助,首先我們需要將Excel中的文本進(jìn)行導(dǎo)入到一個(gè)文本文件中去,代碼如下:
# coding: utf-8
import pandas as pd
df = pd.read_excel('./文本.xlsx')
# print(df.head())
# df['專業(yè)關(guān)鍵詞']
for text in df['工作要求']:
# print(text)
if text is not None:
with open('工作要求.txt', mode='a', encoding='utf-8') as file:
file.write(str(text))
print('寫入完成')
接下來(lái)就可以針對(duì)這個(gè)文本文件進(jìn)行相關(guān)的詞頻統(tǒng)計(jì)了,如果你有自己自定義的關(guān)鍵詞,也可以就著關(guān)鍵詞去統(tǒng)計(jì),沒(méi)有的話,就自己在關(guān)鍵詞范圍內(nèi),任意取多少個(gè)關(guān)鍵詞都可以,相關(guān)的代碼如下所示:
from collections import Counter
import pandas as pd
df = pd.read_excel('./文本.xlsx')
# print(df.head())
words = []
with open('工作要求.txt', 'r', encoding='utf-8') as f:
line = f.readlines()
for word in line[0].split(' '):
words.append(word)
print(len(words))
counter = Counter(words)
# print(counter)
# df['專業(yè)關(guān)鍵詞']
for text in df['專業(yè)關(guān)鍵詞']:
for k, v in counter.items():
if k == text:
print(k, v)
這個(gè)代碼對(duì)于英文文本還是適用的,不過(guò)有個(gè)小問(wèn)題,如下。

最后這里也給出中文分詞的代碼和可視化代碼,兩者結(jié)合在一起的,感興趣的小伙伴們可以試試看。
from collections import Counter # 統(tǒng)計(jì)詞頻
from pyecharts.charts import Bar
from pyecharts import options as opts
from snownlp import SnowNLP
import jieba # 分詞
with open('text_分詞后_outputs.txt', 'r',encoding='utf-8') as f:
read = f.read()
with open('stop_word.txt', 'r', encoding='utf-8') as f:
stop_word = f.read()
word = jieba.cut(read)
words = []
for i in list(word):
if i not in stop_word:
words.append(i)
columns = []
data = []
for k, v in dict(Counter(words).most_common(10)).items():
columns.append(k)
data.append(v)
bar = (
Bar()
.add_xaxis(columns)
.add_yaxis("詞頻", data)
.set_global_opts(title_opts=opts.TitleOpts(title="詞頻top10"))
)
bar.render("詞頻.html")
三、總結(jié)
大家好,我是皮皮。這篇文章主要盤點(diǎn)了一個(gè)英文文本中統(tǒng)計(jì)關(guān)鍵詞方法處理的問(wèn)題,文中針對(duì)該問(wèn)題,給出了具體的解析和代碼實(shí)現(xiàn),幫助粉絲順利解決了問(wèn)題。
最后感謝粉絲【W(wǎng)endy Zheng】提問(wèn),感謝【Python進(jìn)階者】給出的思路和代碼解析,感謝【Python狗】等人參與學(xué)習(xí)交流。
大家在學(xué)習(xí)過(guò)程中如果有遇到問(wèn)題,歡迎隨時(shí)聯(lián)系我解決(我的微信:pdcfighting),應(yīng)粉絲要求,我創(chuàng)建了一些高質(zhì)量的Python付費(fèi)學(xué)習(xí)交流群和付費(fèi)接單群,歡迎大家加入我的Python學(xué)習(xí)交流群和接單群!

小伙伴們,快快用實(shí)踐一下吧!如果在學(xué)習(xí)過(guò)程中,有遇到任何問(wèn)題,歡迎加我好友,我拉你進(jìn)Python學(xué)習(xí)交流群共同探討學(xué)習(xí)。
------------------- End -------------------
往期精彩文章推薦:

歡迎大家點(diǎn)贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持
想加入Python學(xué)習(xí)群請(qǐng)?jiān)诤笈_(tái)回復(fù)【入群】
萬(wàn)水千山總是情,點(diǎn)個(gè)【在看】行不行
/今日留言主題/
隨便說(shuō)一兩句吧~~
