資源簡介 (共29張PPT)第四章 數據處理與應用4.2 大數據處理4.2.2 編程處理數據學習目標掌握pandas模塊的兩種數據結構Series和DataFrame。學習使用pandas模塊對數據進行編輯、計算、統計、分析。能選用合適的方法和軟件對數據進行簡單可視化。掌握運用matplotlib的pyplot子庫的方法,學習和體會編程處理數據的方法和優勢。使用Python語言編程進行數據分析和挖掘,可以調用Python的擴展模塊。Python常用數據處理拓展模塊:Numpy模塊:科學運算的基礎庫,主要提供科學計算中常用的隨機數、數組運算等基礎函數。Scipy模塊:基于numpy構建的一個模塊,增強了在高等數學、信號處理、圖像處理、統計等方面的處理能力。Pandas模塊:基于numpy實現,提供了大量處理數據的函數和方法,能方便地操作大型數據集。Matplotlib模塊:繪圖庫,使用pyplot子庫中的函數快速繪圖和設置圖表坐標軸、坐標軸刻度、圖例等。知識點一:利用pandas模塊處理數據新課講授pandas提供了Series和DataFrame兩種數據結構,可完成數據整理、計算、統計、分析及簡單可視化。在Python中引入pandas模塊的方法如下:import pandas as pdPython模塊的導入——import語句:導入函數或模塊到python代碼中,實現代碼復用。可為模塊或函數指定別名。import 模塊名調用:模塊名.函數名()from 模塊名 import 函數名調用:函數名()import mathmath.sqrt(64)from math import sqrtsqrt(64)import 模塊名 as 別名調用:別名.函數名()from 模塊名 import 函數名 as 別名調用:別名()import math as sxsx.sqrt(64)from math import sqrt as sqsq(64)1.一維數據結構——Series包含一個數組的數據(values)和一個與數據關聯的索引(index),索引值默認是從0起遞增的整數。列表、字典等能用來創建Series數據結構,與列表不同的是,Series的索引可以指定,類型可以為字符串型。(1)創建Series對象(2)查看Series對象中的數據(3)Series對象的檢索和修改1.輸出索引為0的值:print(s2[0])1662.輸出索引為's01'的值:print(s2["s01"])1663.修改索引為2的值為190:s2[2]=1904.輸出values小于180的行:print(s2[s2<180])2.二維數據結構——DataFrame由1個索引列(index)和若干個數據列組成,每個數據列可以是不同的類型。DataFrame可以看作是共享同一個index的Series的集合。行索引類似于關系表中每行的編號,列標題類似于表格的列名(也稱為字段)。(1)創建DataFrame對象用相等長度的字典創建:(1)創建DataFrame對象用相等長度的列表創建:import pandas as pddata=[[1,2,3],[3,4,5],[6,7,8]]df1=pd.DataFrame(data,index=['a','b','c'],columns=['e','f','g'])print(df1)e f ga 1 2 3b 3 4 5c 6 7 8(1)創建DataFrame對象讀取二維數據文件創建:read_excel()函數讀取Excel文件;read_csv()函數讀取CSV文件DataFrame對象導出到二維數據文件 :to_excel()函數導出到Excel文件保存數據;to_csv()函數導出到CSV文件保存數據。import pandas as pddata=[[1,2,3],[3,4,5],[6,7,8]]df1=pd.DataFrame(data,columns=['e','f','g'])df1.to_csv('data.csv')(2)對DataFrame對象的檢索或修改按照字段名稱選取列:df1['姓名'] #選取1列數據df1[['姓名','借閱次數']] #選取2列或多列數據按照字段位置選取列和行:df.loc[0,:] #選取第1行的數據df.loc[[0,1],:] #選取第1、2行的數據選取滿足條件的行:df1[df1['借閱次數']>50] #選取df1對象中'借閱次數'大于50的數據行根據行索引和列標簽選取單個值:df.at[0,'a'] #選取df對象第1行、'a'列的值(3)DataFrame常用函數DataFrame數據結構提供了豐富的函數,這些函數可以用來進行行、列編輯和統計計算等。函數 說明 備注 函數 說明 備注count() 非空(NaN)數據項的數量 drop() 刪除 axis=0/1默認為0(行)不改變sun() mean() 和 平均值 axis=0/1默認為0縱向 append() 插入(追加行) 不改變ignore_index默認為False使用原來的索引列max() min() 最大值 最小值 insert() 插入(追加列) 改變describe() 各列的基本描述統計值 包含計數、平均數、標準差、最大值、最小值及4分位差 rename() 修改列名或者索引 默認不改變head(n) tail(n) 前n行記錄 后n行記錄 n省略默認5行 concat() 合并DataFrame對象 不改變groupby() 分組 as_index缺省默認True為新索引列 不改變 set_value() 根據行標簽和列標簽設置單個值 改變sort_values() 排序ascending缺省默認True為升序 axis=0/1默認為0縱向 不改變(inplace=True會改變,默認為False ) plot() 繪圖知識點二:利用matplotlib模塊繪圖matplotlib是一個繪圖庫,使用其中的pyplot子庫所提供的函數可以快速繪圖和設置圖表的坐標軸、坐標軸刻度、圖例等。在Python中引入matplotlib的pyplot子庫的方法為:import matplotlib.pyplot as pltfigure()語法說明figure(num=None,figsize=None,dpi=None,facecolor=None,edgecolor=None,frameon=True)num:圖像編號或名稱,數字為編號,字符串為名稱。figsize:接收元組類型的值,使用兩個整數作為元素,指定圖像的寬和高,單位是英寸。dpi:圖像分辨率,即每英寸多少個像素,缺省值為80。facecolor:背景顏色,它只能接收字符串類型的顏色英文單詞。edgecolor:邊框顏色frameon:是否顯示邊框,接收的值True或False代碼示例如下所示:import matplotlib.pyplot as pltfig = plt.figure(num='標題',figsize =(4, 3),dpi=240,facecolor='orange',edgecolor='pink',frameon=False)plt.show()plot()語法說明color:指定線條的顏色。linewidth:指定線條的寬度(磅)。label:給線條指定一個圖例名稱。代碼示例如下所示:import matplotlib.pyplot as pltx=[0,1,2,3,4,5]y=[1,6,2,5,3,4]plt.plot(x,y,label='y',color='r',linewidth=2)plt.legend() #顯示圖例plt.show()1.有Python程序段如下:import pandas as pdpd1 = pd.Series([1,2,3,4])print(pd1.index)該程序段運行后輸出結果為( )A. B. C. D.0 1 1 21 2 2 32 3 3 43 4 4 5隨堂練習A2. 某DataFrame對象df,其中包含10個數據行和11個數據列,下列語句中能查看df對象中數據行的是( )A.df.indexB.df.columnsC.df.tail()D.df.count()C 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫