python一些庫的基本使用
一. jieba庫
安裝:pip install jieba
-
中文分詞
- 利用一個(gè)中文詞庫,確定中文字符之間的關(guān)聯(lián)概率
- 中文字符間概率大的組成詞組,形成分詞結(jié)果
- 除了分詞,用戶還可以添加自定義的詞組(如:司馬相如等等這類人名或者專有名詞)
-
三種模式
- 精確模式:把文本精確的切分開,不存在冗余單詞
- 全模式:把文本中所有可能的詞語都掃描出來,有冗余
- 搜索引擎模式:在精確模式基礎(chǔ)上,對(duì)長詞再次切分
```
jieba.lcut(s) 精確模式,返回一個(gè) 列表 類型的分詞結(jié)果
jieba.lcut("中國是一個(gè)偉大的國家")
['中國', '是', '一個(gè)', '偉大', '的', '國家']
```
二. wordcloud庫
掌握詞云 能夠 快速找出 關(guān)鍵信息
安裝:pip install wordcloud
-
生成詞云
grwordcloud.png -
基本使用:
wordcloud庫把詞云當(dāng)作一個(gè)WordCloud對(duì)象- wordcloud.WordCloud()代表一個(gè)文本對(duì)應(yīng)的詞云
- 可以根據(jù)文本中詞語出現(xiàn)的頻率等參數(shù)繪制詞云
- 詞云的繪制形狀、尺寸和顏色都可以設(shè)定,如上如的形狀是長方形,但是可以改為中國地圖的輪廓圖
-
常規(guī)方法:
以WordCloud對(duì)象為基礎(chǔ)
-
配置參數(shù)、加載文本、輸出文件
w = wordcloud.WordCloud() 生成詞云對(duì)象方法 描述 w.generate(txt) 向WordCloud對(duì)象w中加載文本txt w.to_file(filename) 將詞云輸出為圖像文件,.png或.jpg格式
import wordcloud
c = wordcloud.WordCloud() - 步驟1:配置對(duì)象參數(shù)
c.generate("wordcloud by Python") - 步驟2:加載詞云文本
c.to_file("pywordcloud.png") - 步驟3:輸出詞云文件
-
詞云的工作基本原則(重要):
詞云是統(tǒng)計(jì) 單詞 頻率,(根據(jù)單詞間的空格,這一點(diǎn)與中文不同,中文單詞間并沒有空格),如下圖:
image.png - 兩個(gè)實(shí)例:
英文字符串
中文字符串import wordcloud txt = "life is short, you need python" w = wordcloud.WordCloud( \ background_color = "white") w.generate(txt) w.to_file("pywcloud.png")import jieba import wordcloud txt = "程序設(shè)計(jì)語言是計(jì)算機(jī)能夠理解和\ 識(shí)別用戶操作意圖的一種交互體系,它按照\ 特定規(guī)則組織計(jì)算機(jī)指令,使計(jì)算機(jī)能夠自\ 動(dòng)進(jìn)行各種運(yùn)算處理。" w = wordcloud.WordCloud( width=1000,\ font_path="msyh.ttc",height=700) msyh.ttc為微軟雅黑字體,在自己的電腦上能夠搜索到 w.generate(" ".join(jieba.lcut(txt))) 這里在單詞間加入空格,使得wordcloud能夠正確獲得單詞以及其頻率 w.to_file("pywcloud.png") 中文需要先分詞并組成空格分隔字符串
三. os庫的使用
- 路徑操作
os.path.abspath(path) 返回path在當(dāng)前系統(tǒng)中的絕對(duì)路徑 os.path.dirname(path) 返回path中的目錄名稱 - 進(jìn)程管理
當(dāng)我們的程序 需要 讓計(jì)算機(jī)來調(diào)用執(zhí)行 計(jì)算機(jī)內(nèi)的其他程序的時(shí)候來使用,下面的那個(gè).exe可以是任何一個(gè)程序(只要正確指定path)import os os.system("C:\\Windows\\System32\\calc.exe")
四. re庫的使用
正則表達(dá)式語法由 字符 和 操作符 構(gòu)成
1. 正則表達(dá)式語法
| 操作符 | 說明 | 實(shí)例 |
|---|---|---|
| . | 表示單個(gè)字符 | |
| [] | 字符集,對(duì)單個(gè)字符給出取值范圍 | [abc]表示a、b、c, [a-z]表示a到z單個(gè)字符 |
| [^] | 非字符集,對(duì)單個(gè)字符給出排除范圍 | [^abc]表示非a或b或c的單個(gè)字符 |
| * | 前一個(gè)字符0次或無限次擴(kuò)展 | abc* 表示 ab、abc、abcc、abccc等 |
| + | 前一個(gè)字符1次或無限次擴(kuò)展 | abc+表示 abc、abcc、abccc等 |
| ? | 前一個(gè)字符0次或1次擴(kuò)展 | abc?表示 ab、abc |
| | | 左右表達(dá)式任意一個(gè) | abc|def表示abc、def |
| {m} | 擴(kuò)展前一個(gè)字符m次 | ab{2}c表示abbc |
| {m,n} | 擴(kuò)展前一個(gè)字符m至n次(含n) | ab{1,2}c表示abc、abbc |
| ^ | 匹配字符串開頭 | ^abc表示abc且在一個(gè)字符串的開頭 |
| $ | 匹配字符串結(jié)尾 | abc$表示abc且在一個(gè)字符串的結(jié)尾 |
| () | 分組標(biāo)記,內(nèi)部只能使用 | 操作符 | (abc)表示abc,( abc | def)表示abc、def |
| \d | 數(shù)字,等價(jià)于[0-9] | |
| \w | 單詞字符,等價(jià)于[AZa-z0-9_] |

image.png
- re庫主要函數(shù)
基礎(chǔ)函數(shù):compile()
功能函數(shù):search()、match()、findall()、spilt()、finditer()、sub()
詳情:各個(gè)函數(shù)

