使用Python處理Excel資料並生成詞云

2021-10-12 07:18:56 字數 3070 閱讀 3426

從excel檔案中找出喜歡的崗位類別,將其對應的崗位描述進行分析處理,並做出詞雲圖。

1.處理資料

找出自己喜歡的類別,我選的是崗位類別有:資料運營、機器學習、資料科學、資料分析師、資料產品經理、商業資料分析,將其統一替換為資料科學。

提取處理後的資料中崗位類別為資料科學的崗位描述。

2.進行文字預處理,去掉標點符號

3.使用jieba進行文字分詞

4.運用過濾詞表優化掉常用詞

5.進行詞頻統計,使用pyecharts生成詞云

wordcloud.py

import pandas as  pd

import re

import collections

import jieba

from pyecharts.charts import wordcloud

from pyecharts import options as opts

'''找出喜歡的崗位做崗位描述的分析,並做出詞雲圖

'''# 1.處理資料

# 讀取資料

data = pd.read_excel(

'work_all.xlsx'

)# 為了不影響原資料,所以拷貝乙份

data_cy = data.copy(

)# 提取指定崗位的資料

# 注意:崗位類別需要處理空字元問題,崗位類別後都有乙個空格,要去除空格才能讀出來

# 去除空格

a = data_cy[

'崗位類別'].

str.strip(

)# 把去除空格後的資料更改到原資料中

data_cy[

'崗位類別'

]= a

'''把屬於資料運營、機器學習、資料科學、資料分析師、資料產品經理、商業資料分析的資料篩選出來,

並把其'崗位類別'列中的值全部替換為'資料科學'。

'''# 把屬於這些類別的提取出來放到b中

b = a.isin(

['資料運營'

,'機器學習'

,'資料科學'

,'資料分析師'

,'資料產品經理'

,'商業資料分析'])

# 把這些崗位的類別都替換為資料科學

data_cy.loc[b,

'崗位類別']=

'資料科學'

# 提取崗位類別為資料科學的資料

res = data_cy[data_cy[

'崗位類別']==

'資料科學'

]# 更改到原資料中

data_cy = res

# 拼接所有崗位類別為資料科學的崗位描述

string_data =

''for i in data_cy[

'崗位描述']:

string_data +=

str(i)

# 2.文字預處理,去除各種標點符號,不然統計詞頻時會統計進去

# 定義正規表示式匹配模式,其中的|代表或

pattern = re.

compile

(u'\t|\n| |;|\.|。|:|:\.|-|:|\d|;|、|,|\)|\(|\?|"'

)# 將符合模式的字元去除,re.sub代表替換,把符合pattern的替換為空

string_data = re.sub(pattern,

'', string_data)

# 3.文字分詞

seg_list_exact = jieba.cut(string_data, cut_all=

false

)# 精確模式分詞

# object_list = list(seg_list_exact) # list()函式可以把可迭代物件轉為列表

# 4.運用過濾詞表優化掉常用詞,比如「的」這些詞,不然統計詞頻時會統計進去

object_list =

# 讀取過濾詞表

with

open

('./remove_words.txt'

,'r'

, encoding=

"utf-8"

)as fp:

remove_words = fp.read(

).split(

)# 迴圈讀出每個分詞

for word in seg_list_exact:

#看每個分詞是否在常用詞表中或結果是否為空或\xa0不間斷空白符,如果不是再追加

if word not

in remove_words and word !=

' 'and word !=

'\xa0'

:# 分詞追加到列表

# 5.進行詞頻統計,使用pyecharts生成詞云

# 詞頻統計

word_counts = collections.counter(object_list)

# 對分詞做詞頻統計

word_counts_top = word_counts.most_common(

100)

# 獲取前100最高頻的詞

# 繪圖

# # 去pyecharts官網找模板**複製出來修改

c =(

wordcloud(

).add(

"", word_counts_top)

#根據詞頻最高的詞

.render(

"wordcloud.html"

)#生成頁面

)

執行生成wordcloud.html頁面

資料檔案和**已託管到github:pythonwordcloud

python 處理Excel資料

環境配置及可實現操作 注 datanitro作為外掛程式使用需依託軟體本身。參考 2 使用xlrd讀取 可以檢測是否已安裝了xlrd,用import命令 沒有安裝的進行安裝xlrd 安裝成功後,讀取檔案 import xlrd 引入模組 開啟檔案,獲取excel檔案的workbook 工作簿 物件 ...

利用Python處理Excel資料

資料清洗 資料預處理 資料提取 資料篩選 資料彙總 資料統計 import pandas as pd import numpy as np import matplotlib.pyplot as plt from datetime import datetime from pandas import...

利用Python處理Excel資料

目錄 資料清洗 資料預處理 資料提取 資料篩選 資料彙總 資料統計 import pandas as pd import numpy as np import matplotlib.pyplot as plt from datetime import datetime from pandas imp...