《數據倉庫與數據挖掘》課件 第6章 Pandas與Matplotlib_第1頁
《數據倉庫與數據挖掘》課件 第6章 Pandas與Matplotlib_第2頁
《數據倉庫與數據挖掘》課件 第6章 Pandas與Matplotlib_第3頁
《數據倉庫與數據挖掘》課件 第6章 Pandas與Matplotlib_第4頁
《數據倉庫與數據挖掘》課件 第6章 Pandas與Matplotlib_第5頁
已閱讀5頁,還剩25頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第6章Pandas與Matplotlib本章主要內容6.1Pandas6.2時間序列6.3Matplotlib6.4課后習題6.1Pandas6.1pandas——問題引入問題:一個數據表由什么組成?表1一季度股票收益表(單位:元)6.1pandas——問題引入對于某一列數據業務含義的描述第一種描述方式:這一列的數據分別是“1010、2010、3010、4010、5010”,這些數據對應的索引分別是“王二麻、張三、李四、王五、趙六”第二種描述方法:這一列數據分別表示“王二麻股票收益是1010”、“張三股票收益是2010”、“李四股票收益是3010”、“王五股票收益是4010”、“趙六股票收益是5010”如果使用numpy中的ndarray是否合理?如果使用字典型是否合理?6.1.1pandas中的SeriesPandas是一個非常強大的數據分析工具包(表格處理神器),可以進行豐富的數學運算和操作、靈活的缺失值處理,并且還提供了時間序列等數據分析常用功能。安裝方法如下:Series是pandas提供的一種數據類型,和Seriess1(ndarray)很像,但是由一組數據和一組與之相關的索引組成,可以理解為帶有索引的一列數據。6.1.2Series的創建方法一:通過pandas中的Series方法將原生python列表改造成Seires(注意index選項的使用)方法二:通過pandas中的Series將numpy中的ndarray改造成Series(注意index選項的使用)方法三:通過pandas中的Series方法將原生python中的字典型改造成Series注意:區分下標索引和標簽索引6.1.3Series的索引index和values屬性下標索引和標簽索引(均支持普通索引、切片、布爾型索引等索引方法)loc和iloc(均支持普通索引、切片、布爾型索引等索引方法)6.1.4Series的數據對齊普通對位計算對位計算時的自動對齊(以標簽索引為主,注意:如果無法對齊,則用nan補位或用其他數字補位)6.1.5Series的空值處理空值的判斷刪除填充替代Series數學計算Series常見的統計類計算(與numpy幾乎一模一樣)求Seriess1中每個元素的絕對值:s1.abs()求Seriess1中每個元素四舍五入值:s1.round()求Seriess1中每個元素向上取整:s1.ceil()求Seriess1中每個元素向下取整:s1.floor()求Seriess1中所有元素的平均值:s1.mean()求Seriess1中所有元素的方差:s1.var()求Seriess1中所有元素的標準差:s1.std()求Seriess1中最大值:s1.max()求Seriess1中最小值:s1.min()求Seriess1中最大值對應的索引:s1.argmax()求Seriess1中最小值對應的索引:s1.argmin().......6.1.6pandas中的DataFrameDataFrame是Pandas最重要的數據類型,它是一個表格型的數據結構,主要面向表格數據的處理。DataFrame可以被看做是由Series組成的字典,這些Series共用一個索引。股票1:股票2:股票3:理解為6.1.6pandas中的DataFrame——創建DataFrame方法一:使用pandas中的dataframe方法,將多個Series合并成dataframe(如果多個Series的索引對不上,堅持“對齊原則”,如果無法對齊將會出現nan,處理思路方法與Series的空值處理基本一致)方法二:讀取csv等類型文件(注意:index_col和names選項)6.1.7DataFrame的屬性indexcolumnsvaluesshapesizedescribe()6.1.8DataFrame索引與切片傳統索引切片花式索引布爾型索引(注意:只能使用[])6.1.9DataFrame的對位運算與對齊原則對位計算(遵守對齊原則)表的合并單表排序單表統計計算(內容形式與Series基本相同)6.1.10DataFrame處理缺失值刪除有空值的行刪除有空值的列刪除全空的行填充6.1.11DataFrame的常用方法meansumstdsort_valuessort_indexdescribe6.2

時間序列6.2.1生成一個時間序列使用to_datatime方法將列表中的字符串轉成時間序列Pandas可以生成各種有規律的時間序列6.2.2時間序列的操作查看某個月的數據查看某些時間區間的數據查看各個月的數據統計6.2.3read_csv的高級應用read_csv的高級選項to_csv的使用6.3Matplotlib6.3matplotlib——安裝matplotlib是一個畫圖的工具庫,安裝方式如下:6.3.1使用matplotlib畫折線圖importnumpyasnpimportpandasaspd#引入matplotlib工具包importmatplotlib.pyplotasplt#創建表示x值的ndarray和y值的ndarray,二者為線性關系x=np.array(

[1,3,5,7,9])y=np.array([11,13,15,17,19])#畫線段圖,x是橫坐標,y是縱坐標plt.plot(x,y)#顯示畫圖plt.show()6.3.2圖表詳細信息plt.title("Pic1")#顯示圖的名稱plt.xlabel("xlabel")#顯示x軸名稱plt.ylabel("ylabel")#顯示y軸名稱plt.xlim(0,6)#調整x軸的范圍為0-5plt.ylim(2,35)#調整y軸的范圍為2-35plt.xticks([0,2,4,6])#x軸只顯示列表里的點plt.yticks([10,20,30,35])#y軸只顯示列表里的點plt.legend()#將plot中label的內容以圖例形式顯示出6.3.3其他圖——使用matplotlib畫柱狀圖

importnumpyasnpimportpandasaspdimportmatplotlib.pyplotasplt#一共有四組數據作為x軸,分別是Season1Season2Season3Season4season=['Season1','Season2','Season3','Season4']#四個季度的收入分別是10萬、15萬、20萬、10萬income=[10,15,20,10]#顯示四個季度收入的柱狀圖,并指定對應顏色是紅、黃、綠、藍plt.bar(season,income,color=['red','yellow','green','blue'])plt.show()6.3.3其他圖——使用matplotlib畫餅狀圖

importnumpyasnpimportpandasaspdimportmatplotlib.pyplotasplt#一共有四組數據作為x軸,分別是Season1Season2Season3Season4season=['Season1','Season2','Season3','Season4']#四個季度的收入分別是10萬、15萬、20萬、10萬income=[10,15,20,10]#畫餅狀圖,顯示四個季度收入占全年收入的占比,并顯示比例(顯示小數點后1位)plt.pie(income,labels=season,autopct='%.1f%%')plt.show()6.4

溫馨提示

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

評論

0/150

提交評論