第11章 計(jì)算生態(tài)_第1頁
第11章 計(jì)算生態(tài)_第2頁
第11章 計(jì)算生態(tài)_第3頁
第11章 計(jì)算生態(tài)_第4頁
第11章 計(jì)算生態(tài)_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

學(xué)院系部名稱主講:授課教師姓名Python基礎(chǔ)教程第11章計(jì)算生態(tài)

Python的庫分為標(biāo)準(zhǔn)庫和第三方庫。標(biāo)準(zhǔn)庫是隨解釋器直接安裝到操作系統(tǒng)中的功能模塊;第三方庫是需要經(jīng)過安裝才能使用的功能模塊。Python功能之所以強(qiáng)大,和強(qiáng)大的庫是分不開的。例如Python網(wǎng)絡(luò)爬蟲方向的第三方庫有request、scrapy等;數(shù)據(jù)分析方向的第三方庫有Numpy、Scipy、Pandas等;數(shù)據(jù)可視化方向的第三方庫有matplotlib、TVTK、mayavi等;文本處理方向的第三方庫有openpyxl、python-docx、filecmp等;機(jī)器學(xué)習(xí)和深度學(xué)習(xí)方向的第三方庫有TensorFlow、Scikit-learn、Theano、keras等;Web開發(fā)方向的第三方庫有Django、Pyramid、flask等;圖形用戶界面方向的標(biāo)準(zhǔn)庫有tkinter,第三方庫有PyQt5、wxPython、PySide、PyGTK等;游戲開發(fā)方向的第三方庫有Pygame、Panda3D、cocos2d等。第11章計(jì)算生態(tài)

全國計(jì)算機(jī)等級(jí)考試二級(jí)Python語言程序設(shè)計(jì)考試大綱(2018年版)中第7部分—Python計(jì)算生態(tài)中所涉及的庫,除本教材前面章節(jié)中所提到的庫,主要還有Turtle、random標(biāo)準(zhǔn)庫及jieba、wordcloud第三方庫。本章的目標(biāo)是讓讀者了解這些庫的使用。第11章計(jì)算生態(tài)【教學(xué)導(dǎo)航】學(xué)習(xí)目標(biāo)1.了解Turtle標(biāo)準(zhǔn)庫的概念和使用2.了解random標(biāo)準(zhǔn)庫的概念和使用3.掌握jieba第三方庫的安裝和使用4.了解wordcloud第三方庫的安裝和使用教學(xué)重點(diǎn)1.Turtle繪圖命令2.random庫的常用函數(shù)3.jieba分詞應(yīng)用教學(xué)方式案例教學(xué)法、分組討論法、自主學(xué)習(xí)法、探究式訓(xùn)練法課時(shí)建議6課時(shí)本章主要內(nèi)容jieba第三方庫Turtle標(biāo)準(zhǔn)庫random標(biāo)準(zhǔn)庫123wordcloud第三方庫4實(shí)訓(xùn)11511.1Turtle標(biāo)準(zhǔn)庫 Turtle庫,也叫海龜庫,是一個(gè)入門級(jí)的函數(shù)繪制庫,是Python語言的標(biāo)準(zhǔn)庫之一。其被創(chuàng)作出來的主要目的是教小朋友們學(xué)編程。本節(jié)介紹Turtle標(biāo)準(zhǔn)庫,這個(gè)庫也是全國計(jì)算機(jī)等級(jí)考試二級(jí)Python語言程序設(shè)計(jì)考試大綱(2018年版)中第七部分—Python計(jì)算生態(tài)中第1點(diǎn)(標(biāo)準(zhǔn)庫)中必考的一個(gè)庫。[學(xué)習(xí)目標(biāo)]1.了解Turtle庫的基礎(chǔ)知識(shí)2.了解并掌握Turtle庫繪圖命令3.掌握Turtle繪圖的基本操作方式11.1Turtle標(biāo)準(zhǔn)庫

Turtle庫是Python語言中一個(gè)很流行的繪制圖像的函數(shù)庫。想象一個(gè)畫筆,從一個(gè)橫軸為x、縱軸為y的坐標(biāo)系原點(diǎn)(0,0)位置開始,它根據(jù)一組函數(shù)指令的控制,在這個(gè)平面坐標(biāo)系中移動(dòng),從而在移動(dòng)的路徑上繪制了圖形11.1.1Turtle基礎(chǔ) Turtle是WallyFeurzig和SeymourPapert于1966年開發(fā)的原始Logo編程語言的一部分。官方文檔地址為:/2/library/turtle.html。

在導(dǎo)入Turtle庫之后,輸入“importturtle”,如果沒報(bào)錯(cuò)就說明成功引用Turtle。如果報(bào)錯(cuò)請(qǐng)?jiān)趫?zhí)行安裝命令中輸入“pipinstallturtle”。從x-y平面的(0,0)開始,給它一個(gè)命令“turtle.forward(x)”,然后就移動(dòng)x個(gè)像素(在屏幕上移動(dòng)),在移動(dòng)的同時(shí)繪制一條線。如果加載命令“turtle.right(y)”,就會(huì)順時(shí)針旋轉(zhuǎn)y度。

11.1.1Turtle基礎(chǔ)通過將這些類似命令組合在一起,可以容易地繪制復(fù)雜的形狀和圖片。Turtle基礎(chǔ)命令如下。1.畫布(canvas)畫布就是Turtle為我們展開用于繪圖的區(qū)域,我們可以設(shè)置它的大小和初始位置。 turtle.screensize(canvwidth=None, canvheight=None,bg=None),參數(shù)分別為畫布的寬(單位為像素)、高、背景顏色。例如: turtle.screensize(800,600,"green") turtle.screensize()#返回默認(rèn)大小(400,300) turtle.setup(width=0.5,height=0.75,startx=None,starty=None)11.1.1Turtle基礎(chǔ)

其中,參數(shù)width,height:輸入寬和高為整數(shù)時(shí),表示像素;為小數(shù)時(shí),表示占據(jù)計(jì)算機(jī)屏幕的比例,(startx,starty):這一坐標(biāo)表示矩形窗口左上角頂點(diǎn)的位置,如果為空,則窗口位于屏幕中心。例如, turtle.setup(width=0.6,height=0.6) turtle.setup(width=800,height=800,startx=100,starty=100)2.畫筆

在畫布上,默認(rèn)有一個(gè)坐標(biāo)原點(diǎn)為畫布中心的坐標(biāo)軸,坐標(biāo)原點(diǎn)上有一只面朝x軸正方向的畫筆。這里我們描述畫筆時(shí)使用了兩個(gè)詞語:坐標(biāo)原點(diǎn)(位置),面朝x軸正方向(方向)。Turtle使用位置方向來描述畫筆的狀態(tài)。11.1.1Turtle基礎(chǔ)畫筆的屬性指畫筆的靜態(tài)表現(xiàn),如顏色、畫線的寬度等,主要包括以下三點(diǎn)。

●turtle.pensize():設(shè)置畫筆的寬度

●turtle.pencolor():沒有參數(shù)傳入,返回當(dāng)前畫筆顏色,傳入?yún)?shù)用于設(shè)置畫筆顏色,可以是字符串如“green”“red”,也可以是RGB3元組。

●turtle.speed(speed):設(shè)置畫筆移動(dòng)速度,畫筆繪制的速度范圍[0,10]整數(shù),數(shù)字越大越快。11.1.2Turtle繪圖命令

Turtle庫中,操縱繪圖有著許多的命令,這些命令可以劃分為3種:一種為運(yùn)動(dòng)命令,一種為畫筆控制命令,還有一種是全局控制命令。Turtle操縱繪圖命令分別表述如下。1.畫筆運(yùn)動(dòng)命令和說明畫筆運(yùn)動(dòng)命令和說明如表11-1-1所示。

表11-1-1畫筆運(yùn)動(dòng)命令和說明命令說明turtle.forward(distance)向當(dāng)前畫筆方向移動(dòng)distance像素長度turtle.backward(distance)向當(dāng)前畫筆相反方向移動(dòng)distance像素長度turtle.right(degree)順時(shí)針移動(dòng)degree11.1.2Turtle繪圖命令

續(xù)表11-1-1畫筆運(yùn)動(dòng)命令和說明命令說明turtle.left(degree)逆時(shí)針移動(dòng)degreeturtle.pendown()移動(dòng)時(shí)繪制圖形,默認(rèn)時(shí)也為繪制turtle.goto(x,y)將畫筆移動(dòng)到坐標(biāo)為x,y的位置turtle.penup()提起筆移動(dòng),不繪制圖形,用于另起一個(gè)地方繪制turtle.circle(radius,extent=None,steps=None)畫圓,radius(半徑):半徑為正(負(fù)),表示圓心在畫筆的左邊(右邊)畫圓;extent(弧度):optional(可選擇的);steps:optional(可選擇的),作半徑為radius的圓的內(nèi)切正多邊形,多邊形邊數(shù)為stepssetx()將當(dāng)前x軸移到指定位置11.1.2Turtle繪圖命令

續(xù)表11-1-1畫筆運(yùn)動(dòng)命令和說明命令說明sety()將當(dāng)前y軸移到指定位置setheading(angle)設(shè)置當(dāng)前朝向?yàn)閍ngle角度home()設(shè)置當(dāng)前畫筆位置為原點(diǎn),朝向東dot(r)繪制一個(gè)指定直徑和顏色的圓點(diǎn)11.1.2Turtle繪圖命令

2.畫筆控制命令和說明畫筆控制命令和說明如表11-1-2所示。

表11-1-2畫筆控制命令和說明命令說明turtle.fillcolor(colorstring)繪制圖形的填充顏色turtle.color(color1,color2)同時(shí)設(shè)置pencolor=color1,fillcolor=color2turtle.filling()返回當(dāng)前是否在填充狀態(tài)turtle.begin_fill()準(zhǔn)備開始填充圖形turtle.end_fill()填充完成11.1.2Turtle繪圖命令

續(xù)表11-1-2畫筆控制命令和說明命令說明turtle.hideturtle()隱藏畫筆的Turtle形狀turtle.showturtle()顯示畫筆的Turtle形狀11.1.2Turtle繪圖命令

3.全局控制命令和說明全局控制命令和說明如表11-1-3所示。

表11-1-3全局控制命令和說明命令說明turtle.clear()清空Turtle窗口,但是Turtle的位置和狀態(tài)不會(huì)改變turtle.reset()清空窗口,重置Turtle狀態(tài)為起始狀態(tài)turtle.undo()撤銷上一個(gè)Turtle動(dòng)作turtle.isvisible()返回當(dāng)前Turtle是否可見11.1.2Turtle繪圖命令

續(xù)表11-1-3全局控制命令和說明命令說明stamp()復(fù)制當(dāng)前圖形turtle.write(s[,font=("font-name",font_size,"font_type")])寫文本,s為文本內(nèi)容,font是字體的參數(shù),分別為字體名稱、大小和類型;font為可選項(xiàng),font參數(shù)也是可選項(xiàng)11.1.2Turtle繪圖命令4.其他命令和說明其他命令和說明如表11-1-4所示。

表11-1-4其他命令和說明命令說明turtle.mainloop()或turtle.done()啟動(dòng)事件循環(huán),調(diào)用Tkinter的mainloop函數(shù)。必須是程序中的最后一個(gè)語句turtle.mode(mode=None)設(shè)置模式(“standard”、“l(fā)ogo”或“world”)并執(zhí)行重置。如果沒有給出模式,否則返回當(dāng)前模式模式初始朝向正角度standard向右(東)逆時(shí)針logo向上(北)順時(shí)針11.1.2Turtle繪圖命令

續(xù)表11-1-4其他命令和說明命令說明turtle.delay(delay=None)設(shè)置或返回以毫秒為單位的繪圖延遲turtle.begin_poly()開始記錄多邊形的頂點(diǎn)。當(dāng)前的位置是多邊形的第一個(gè)頂點(diǎn)turtle.end_poly()停止記錄多邊形的頂點(diǎn)。當(dāng)前的位置是多邊形的最后一個(gè)頂點(diǎn)。將與第一個(gè)頂點(diǎn)相連turtle.get_poly()返回最后記錄的多邊形11.1.3Turtle命令操作

在Turtle繪圖中,因?yàn)楫嫴际庆o止不動(dòng)的,所以以畫布中心構(gòu)建的角度坐標(biāo)是不會(huì)發(fā)生變化的,如90°就是指正北方向。這在Turtle中是絕對(duì)角度,絕對(duì)角度是相對(duì)于畫布而言的,turtle.seth(angle)函數(shù)中的角度用的就是絕對(duì)角度。

與絕對(duì)角度相對(duì)應(yīng)的是Turtle角度,也叫相對(duì)角度。它是以Turtle本身的方向?yàn)橹行慕⑵饋淼囊粋€(gè)角度坐標(biāo)系,它是時(shí)刻在變動(dòng)的。turtle.left(angle)、turtle.right(angle)中的角度用的就是相對(duì)角度。11.1.3Turtle命令操作

Turtle的畫圖方向是左手邊的,類似左撇子的操作,turtle.fd()表示朝前爬行多少個(gè)像素點(diǎn),而turtle.bk()則表示后退了多少個(gè)像素點(diǎn)。Turtle繪圖一般遵循以下幾個(gè)方面,操作如下。(1)讓Python引入Turtle模塊:importturtle。(2)創(chuàng)建畫布,調(diào)用Turtle中的相關(guān)函數(shù),如:turtle.Pen()。(3)移動(dòng)畫筆。使用Turtle中的相關(guān)函數(shù),如:首先開始填充圖形(turtle.begin_fill()),中間過程,如:turtle.forward(50),表示向前移動(dòng)50個(gè)像素;turtle.left(90),表示向左轉(zhuǎn)90度等此類操作;最后需要通知填充完成(turtle.end_fill())。11.1.3Turtle命令操作(4)擦除畫布。如turtle.reset(),重置命令(reset),這會(huì)清除畫布并把畫筆放回開始的位置;turtle.clear(),清除命令(clear)只清除屏幕,畫筆仍停留在原位。

畫筆還可以向右(right)轉(zhuǎn),或者后退(backward)??梢杂孟蛏希╱p)把筆從紙上抬起來(換句話說就是停止作畫),用向下(down)來表示開始作畫。

使用Turtle,可以繪制許多有趣的圖形,如例11-1-1所示。

例11-1-1利用Turtle繪制花。11.1.3Turtle命令操作在例11-1-1中,“turtle.color("yellow","red")”使用一行代碼同時(shí)定義了pencolor和fillcolor。相當(dāng)于“turtle.pencolor("yellow")”和“turtle.fillcolor("red")”兩行代碼,具有相同作用。例11-1-2中使用pencolor和fillcolor來進(jìn)行圖形樣式定義,如例11-1-2所示。

例11-1-2繪制五角星實(shí)例。

11.2random標(biāo)準(zhǔn)庫

隨機(jī)數(shù)可以用于數(shù)學(xué)、游戲、安全等領(lǐng)域中,還經(jīng)常被嵌入到算法中,用以提高算法的效率,并提高程序的安全性。使用隨機(jī)數(shù)函數(shù),需要導(dǎo)入random庫。本節(jié)介紹random庫,這個(gè)庫也是全國計(jì)算機(jī)等級(jí)考試二級(jí)Python語言程序設(shè)計(jì)考試大綱(2018年版)中第七部分—Python計(jì)算生態(tài)中第1點(diǎn)(標(biāo)準(zhǔn)庫)中必考的一個(gè)庫。[學(xué)習(xí)目標(biāo)]1.了解隨機(jī)數(shù)的概念2.了解random庫的基本隨機(jī)函數(shù)與擴(kuò)展隨機(jī)函數(shù)3.了解并掌握random庫的常用隨機(jī)函數(shù)使用11.2random標(biāo)準(zhǔn)庫

從概率論角度來說,隨機(jī)數(shù)是隨機(jī)產(chǎn)生的數(shù)據(jù)(比如拋硬幣),但計(jì)算機(jī)是不可能產(chǎn)生隨機(jī)數(shù)的,真正的隨機(jī)數(shù)也是在特定條件下產(chǎn)生的確定值。計(jì)算機(jī)不能產(chǎn)生真正的隨機(jī)數(shù),偽隨機(jī)數(shù)也被稱為隨機(jī)數(shù)。Python中用于生成偽隨機(jī)數(shù)的函數(shù)庫是random庫。random庫是使用隨機(jī)數(shù)的Python標(biāo)準(zhǔn)庫,使用時(shí)只需要使用importrandom。random庫包含兩類函數(shù),常用的有8個(gè)。

●基本隨機(jī)函數(shù):seed()、random()。

●擴(kuò)展隨機(jī)函數(shù):randint()、getrandbits()、uniform()、randrange()、choice()、shuffle()。11.2random標(biāo)準(zhǔn)庫Python包含的常用隨機(jī)數(shù)函數(shù)如表11-2-1所示。

表11-2-1Python常用隨機(jī)函數(shù)一覽表函數(shù)描述choice(seq)從序列的元素中隨機(jī)挑選一個(gè)元素,比如random.choice(range(10)),從0到9中隨機(jī)挑選一個(gè)整數(shù)randrange([start,]stop[,step])從指定范圍內(nèi),按指定基數(shù)遞增的集合中獲取一個(gè)隨機(jī)數(shù),基數(shù)默認(rèn)值為1random()隨機(jī)生成下一個(gè)實(shí)數(shù),它在[0,1)范圍內(nèi)seed([x])改變隨機(jī)數(shù)生成器的種子seed。如果不了解其原理,不必特別去設(shè)定seed,Python會(huì)自動(dòng)選擇seed11.2random標(biāo)準(zhǔn)庫

續(xù)表11-2-1Python常用隨機(jī)函數(shù)一覽表函數(shù)描述shuffle(lst)將序列的所有元素隨機(jī)排序uniform(x,y)隨機(jī)生成下一個(gè)實(shí)數(shù),它在[x,y]范圍內(nèi)11.2.2random庫常用函數(shù)random()函數(shù)是Python中生成隨機(jī)數(shù)的函數(shù),是由random模塊控制的。random()函數(shù)不能直接訪問,需要導(dǎo)入random模塊,然后再通過相應(yīng)的靜態(tài)對(duì)象調(diào)用該方法才能實(shí)現(xiàn)相應(yīng)的功能。每次生成的隨機(jī)數(shù)都不一樣,在后面的實(shí)例中,輸出的隨機(jī)數(shù)均僅供參考。1.random.random()random.random()方法返回一個(gè)隨機(jī)數(shù),其在0至1的范圍之內(nèi),2.random.uniform()random.uniform()是在指定范圍內(nèi)生成隨機(jī)數(shù),其有兩個(gè)參數(shù):一個(gè)是范圍上限,一個(gè)是范圍下限,如果a>b,則生成隨機(jī)數(shù)n,n的取值范圍是a≤n≤b。如果a<b,n的取值范圍是b≤n≤a11.2.2random庫常用函數(shù)3.random.randint()random.randint()是隨機(jī)生成指定范圍內(nèi)的整數(shù),其有兩個(gè)參數(shù),一個(gè)是范圍上限,一個(gè)是范圍下限,下限必須小于上限4.random.randrange()random.randrange()是在指定范圍內(nèi),按指定基數(shù)遞增的集合中獲得一個(gè)隨機(jī)數(shù),有三個(gè)參數(shù),前兩個(gè)參數(shù)代表范圍上限和下限,第三個(gè)參數(shù)是遞增增量

11.2.2random庫常用函數(shù)5.random.choice()random.choice()是從序列中獲取一個(gè)隨機(jī)元素6.random.shuffle()random.shuffle()函數(shù)是將一個(gè)列表中的元素打亂,隨機(jī)排序7.random.sample()random.sample()函數(shù)是從指定序列中隨機(jī)獲取指定長度的片段,原有序列不會(huì)改變,有兩個(gè)參數(shù),第一個(gè)參數(shù)代表指定序列,第二個(gè)參數(shù)是需獲取的片段長度

11.3jieba第三方庫 jieba庫是Python的中文分詞工具,可以將句子精確地分開,對(duì)文本進(jìn)行分析、統(tǒng)計(jì)詞頻、作詞云圖、構(gòu)建對(duì)象等。本節(jié)介紹jieba第三方庫,這個(gè)庫也是全國計(jì)算機(jī)等級(jí)考試二級(jí)Python語言程序設(shè)計(jì)考試大綱(2018年版)中第七部分—Python計(jì)算生態(tài)中第4點(diǎn)(第三方庫)[學(xué)習(xí)目標(biāo)]1.了解jieba庫的概念2.了解并掌握jieba庫的安裝3.了解并掌握jieba庫的分詞統(tǒng)計(jì)11.3.1jieba庫簡(jiǎn)介 jieba是優(yōu)秀的中文分詞第三方庫,需要額外安裝。jieba庫提供三種分詞模式,最簡(jiǎn)單的只需掌握一個(gè)函數(shù)。 jieba分詞依靠中文詞庫。利用一個(gè)中文詞庫,確定漢字之間的關(guān)聯(lián)概率,通過漢字間概率大的組成詞組,形成分詞結(jié)果。除了分詞,用戶還可以添加自定義的詞組。 jieba分詞有三種模式:精確模式、全模式、搜索引擎模式。11.3.1jieba庫簡(jiǎn)介

●精確模式:試圖將語句最精確地切分,不存在冗余數(shù)據(jù),適合做文本分析。

●全模式:將語句中所有可能是詞的詞語都切分出來,速度很快,但是存在冗余數(shù)據(jù)。

●搜索引擎模式:在精確模式的基礎(chǔ)上,對(duì)長詞再次進(jìn)行切分。

表11-3-1jieba庫常用函數(shù)序號(hào)函數(shù)描述1jieba.cut(s)精確模式,返回一個(gè)可迭代的數(shù)據(jù)類型2jieba.cut(s,cut_all=True)全模式,輸出文本s中所有可能的單詞11.3.1jieba庫簡(jiǎn)介

續(xù)表11-3-1jieba庫常用函數(shù)序號(hào)函數(shù)描述3jieba.cut_for_search(s)搜索引擎模式,適合搜索引擎建立索引的分詞結(jié)果4jieba.lcut(s)精確模式,返回一個(gè)列表類型,建議使用5jieba.lcut(s,cut_all=True)全模式,返回一個(gè)列表類型,建議使用6jieba.lcut_for_search(s)搜索引擎模式,返回一個(gè)列表類型,建議使用7jieba.add_word(w)向分詞詞典中增加新詞11.3.2jieba庫的安裝jieba是一個(gè)第三方庫,需要在本地進(jìn)行安裝。Windows下使用命令安裝:在聯(lián)網(wǎng)狀態(tài)下,在命令行下輸入“pipinstalljieba”進(jìn)行安裝,安裝完成后會(huì)提示安裝成功。jieba分詞有三種模式,不同模式分詞的效果不同11.3.3jieba分詞應(yīng)用使用jieba分詞工具對(duì)一個(gè)文本進(jìn)行分詞,統(tǒng)計(jì)次數(shù)出現(xiàn)最多的前10位詞語,這里以西游記為例,“西游記_正文(第1章-20章).txt”文件和“例11-3-2.py”在同一目錄下

上面的例子統(tǒng)計(jì)實(shí)現(xiàn)了中文文檔中出現(xiàn)最多的排名前10位詞語。11.3.4jieba單詞統(tǒng)計(jì)

上面的例子實(shí)現(xiàn)了統(tǒng)計(jì)中文文檔中出現(xiàn)最多的詞語,接著我們來統(tǒng)計(jì)一下在一個(gè)英文文檔中出現(xiàn)次數(shù)最多的單詞11.4wordcloud第三方庫 wordcloud把詞云當(dāng)作一個(gè)對(duì)象,它可以將文本中詞語出現(xiàn)的頻率作為一個(gè)參數(shù)繪制詞云,而詞云的大小、顏色、形狀等都是可以設(shè)定的。本節(jié)介紹wordcloud第三方庫,這個(gè)庫也是全國計(jì)算機(jī)等級(jí)考試二級(jí)Python語言程序設(shè)計(jì)考試大綱(2018年版)中第七部分—Python計(jì)算生態(tài)中第4點(diǎn)(第三方庫)中選考的一個(gè)庫。[學(xué)習(xí)目標(biāo)]1.了解wordcloud庫的概念2.了解并掌握wordcloud庫的安裝3.了解并掌握wordcloud庫的分詞統(tǒng)計(jì)11.4.1wordcloud庫安裝

在網(wǎng)絡(luò)正常的情況下,在命令行中輸入“pipinstallwordcloud”,如果提示報(bào)錯(cuò)需要注意pip工具的版本:在pip安裝wordcloud過程中,要求pip工具版本不低于pip?10.0.1版本,如果pip版本低,需先更新pip包管理工具python-mpipinstall--upgradepip。pip更新到最新版本后安裝wordcloud如果還報(bào)錯(cuò)。此時(shí)先下載wordcloud?1.4.1?cp36?cp36m?win_amd64.whl安裝包到本地目錄,Python為3.6.x版本的可以下載cp36的包下載wordcloud編譯后的安裝包,采用本地安裝方式。下載地址:/~gohlke/pythonlibs/#wordcloud。選擇對(duì)應(yīng)版本進(jìn)行安裝,注意要對(duì)應(yīng)Python安裝版本。本地Python安裝wheel,安裝方式pip,命令為:pipinstallwheel。11.4.1wordcloud庫安裝

安裝wheel后,使用pip安裝下載到本地的wordcloud?1.5.0-cp36-cp36m-win_amd64(下載對(duì)應(yīng)版本即可)。

下載后,打開命令行窗口,進(jìn)入到安裝包所在目錄位置,選擇合適版本再進(jìn)行安裝。

如輸入“pipinstallwordcloud?1.4.1-cp36-cp36m-win_amd64.whl”后回車安裝。如版本錯(cuò)誤,會(huì)有錯(cuò)誤提示,如版本正確,進(jìn)行安裝,提示安裝成功

如pip正常安裝wordcloud后,使用時(shí)仍然提示錯(cuò)誤,例如,提示“ImportError:Nomodulenamed'wordcloud'”,請(qǐng)注意Python開發(fā)環(huán)境版本號(hào)。11.4.2wordcloud基本使用 1.生成詞云文件過程wordcloud庫把詞云當(dāng)作一個(gè)WordCloud對(duì)象。wordcloud.WordCloud()代表一個(gè)文本對(duì)應(yīng)的詞云,可以根據(jù)文本中詞語出現(xiàn)的頻率等參數(shù)繪制詞云,詞云的形狀、尺寸和顏色均可設(shè)定。生成一個(gè)漂亮的詞云文件三步就可以完成,即:(1)配置對(duì)象參數(shù)。(2)加載詞云文本。(3)輸出詞云文件(如果不加說明默認(rèn)的圖片大小為400px×200px)。

11.4.2wordcloud基本使用將詞云輸出為圖像文件(.png或.jpg格式),需要使用matplotlib繪圖庫。matplotlib是一個(gè)Python的2D繪圖庫,通過matplotlib,開發(fā)者可以僅需要編寫幾行代碼,便可以生成繪圖、直方圖、功率譜、條形圖、錯(cuò)誤圖、散點(diǎn)圖等。如果沒有該庫,會(huì)提示“ModuleNotFoundError:Nomodulenamed'matplotlib'”錯(cuò)誤,此時(shí)導(dǎo)入安裝matplotlib繪圖庫(命令為pipinstallmatplotlib)即可。2.WordCloud對(duì)象的常規(guī)方法及參數(shù)以WordCloud對(duì)象為基礎(chǔ),進(jìn)行配置參數(shù)、加載文本再輸出文件。WordCloud對(duì)象的常規(guī)方法包括以下兩種方法:●generate()加載文本,向WordCloud對(duì)象中加載文本txt?!駎o_file(filename),將詞云輸出為圖像文件(.png或.jpg格式)

11.4.2wordcloud基本使用wordcloud.WordCloud()還可以配置對(duì)象參數(shù),格式如下:w=wordcloud.WordCloud(<參數(shù)>)

表11-4-1WordCloud參數(shù)表參數(shù)描述width指定詞云對(duì)象生成圖片的寬度,默認(rèn)為400像素,如w=wordcloud.WordCloud(width=600)height指定詞云對(duì)象生成圖片的高度,默認(rèn)為200像素,如w=wordcloud.WordCloud(height=400)min_font_size指定詞云中字體的最小字號(hào),默認(rèn)為4號(hào),如w=wordcloud.WordCloud(min_font_size=10)max_font_size指定詞云中字體的最大字號(hào),根據(jù)高度自動(dòng)調(diào)節(jié),如w=wordcloud.WordCloud(max_font_size=20)font_step指定詞云中字體字號(hào)的步進(jìn)間隔,默認(rèn)為1,如w=wordcloud.WordCloud(font_step=2)11.4.2wordcloud基本使用

續(xù)表11-4-1WordCloud參數(shù)表參數(shù)描述font_path指定文本文件的路徑,默認(rèn)None,如w=wordcloud.WordCloud(font_path="msyh.ttc")max_words指定詞云顯示的最大單詞數(shù)量,默認(rèn)為200,如w=wordcloud.WordCloud(max_words=20)stop_words指定詞云的排除詞列表,即不顯示的單詞列表,如w=wordcloud.WordCloud(stop_words="Python")mask指定詞云形狀,默認(rèn)為長方形,需要引用imread()函數(shù),如fromscipy.mscimportimreadmk=imread("pic.png")w=wordcloud.WordCloud(mask=mk)background_color指定詞云圖片的背景顏色,默認(rèn)為黑色,如w=wordcloud.WordCloud(background_color="white")11.4.2wordcloud基本使用3.WordCloud對(duì)象生成詞云操作實(shí)例wordcloud將文本轉(zhuǎn)化為詞云,基本操作步驟如下。(1)分隔:以空格分隔單詞。(2)統(tǒng)計(jì):?jiǎn)卧~出現(xiàn)次數(shù)并過濾。(3)字體:根據(jù)統(tǒng)計(jì)配置字號(hào)。(4)布局:顏

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論