資源簡介 (共21張PPT)川教版(2019) 信息技術(八年級下冊)第三單元 數據分析與處理3.2 統計分析數據(第3課時)一學習目標1、了解numpy模塊中常用的數組操作2、了解loadtxt()、sum()、savetxt()、hstack()、vstack()函數的用法二新課講解拓展練習請各小組課后運行這段代碼,看看運行效果,下節課分享。二新課講解教師講解——numpy模塊中函數的介紹from numpy import *a=zeros(3)print(a)1、zeros()函數:創建數組元素全部為0的數組[0. 0. 0.]引入numpy模塊使用zeros(3)函數創建一個有3個0的數組,并賦值給數組a打印輸出數組a二新課講解教師講解——numpy模塊中函數的介紹from numpy import *a=ones(4)print(a)2、ones()函數:創建數組元素全部為1的數組[1. 1. 1. 1.]引入numpy模塊使用ones(4)函數創建一個有4個1的數組,并賦值給數組a打印輸出數組a二新課講解教師講解——numpy模塊中函數的介紹from numpy import *a=arange(5)print(a)3、arange()函數:創建等差數組,該函數和和學習過的range()函數類似。[0 1 2 3 4]引入numpy模塊使用arange(5)函數創建一個有5個元素的數組,數組的元素分別是:0,1,2,3,4,并賦值給數組a打印輸出數組a二新課講解教師講解——讀寫文本文件→建立基礎數據表當數據量比較大時,將數據依次錄入程序容易出錯,而且效率低。因此,用文件直接導入數據的方法更加準確和方便,numpy中可以直接導入文本文件。下面通過“歡歡班某一次分項目測試的成績表”為例,展示所有的知識點。二新課講解教師講解——讀寫文本文件→建立基礎數據表第一步:將Excel表中的數據復制到記事本或者寫字板內,保存為文本文件”分項目成績表“,存儲數據,數據可以用空格、逗號等分隔符分隔。二新課講解教師講解——讀寫文本文件→導入數據第二步:loadtxt()函數可以從文本文件中讀取數據,以數組的形式返回。 下面利用loadtxt()函數導入“分項目成績表”文件,來計算總分。from numpy import *a=loadtxt('分項目成績表.txt')b=a.sum(1)print(b)引入numpy模塊讀取文件數據sum(1)表示對數據中的每一行進行求和,如果要對數組中每一列進行求和可以用sum(0)實現。打印輸出數組b二新課講解教師講解——讀寫文本文件→導入數據第二步:loadtxt()函數可以從文本文件中讀取數據,以數組的形式返回。 下面利用loadtxt()函數導入“分項目成績表”文件,來計算總分。from numpy import *a=loadtxt('分項目成績表.txt')b=a.sum(1)print(b)[ 96.7 88.8 75.2 93.6 83.1 79. 88.4 73.2 91.6 69.2 88.3 102.8 93. 85.5 58.4]二新課講解教師講解——讀寫文本文件→導出數據第三步:第二步中導入數據后程序執行的結果的排列方式不便于查看每位同學的總分,可以使用savetxt()函數將數組以指定的格式保存為文本文件。from numpy import *a=loadtxt('分項目成績表.txt')b=a.sum(1)savetxt('總分.txt',b,fmt='%.2f')引入numpy模塊讀取文件數據sum(1)表示對數據中的每一行進行求和,如果要對數組中每一列進行求和可以用sum(0)實現。將數組b以兩位小數的形式保存在文件“總分.txt”文件中二新課講解教師講解——讀寫文本文件→導出數據第三步:第二步中導入數據后程序執行的結果的排列方式不便于查看每位同學的總分,可以使用savetxt()函數將數組以指定的格式保存為文本文件。from numpy import *a=loadtxt('分項目成績表.txt')b=a.sum(1)savetxt('總分.txt',b,fmt='%.2f')二新課講解教師講解——組合數組→水平組合數組hstack()函數:只有總分,沒有基礎數據,仍舊不方便查看和對比,因此,需要將計算出的總分和前面的基礎數據進行合并,將兩個文件中的數組合并在一起,可以使用hstack()函數。hstack()函數可以將兩個或者多個數組水平組合起來形成一個新的數組。from numpy import *a=array([[1,2,3],[4,5,6]])b=array([[7,8,9],[10,11,12]])c=hstack((a,b))print(c)引入numpy模塊創建數組a創建數組b合并數組a和b二新課講解教師講解——組合數組→水平組合數組from numpy import *a=array([[1,2,3],[4,5,6]])b=array([[7,8,9],[10,11,12]])c=hstack((a,b))print(c)數組a數組b數組c[[ 1 2 3 7 8 9] [ 4 5 6 10 11 12]]二新課講解教師講解——組合數組→垂直組合數組vstack()函數:vstack()函數可以將兩個或者多個數組垂直組合起來形成一個新的數組。from numpy import *a=array([[1,2,3],[4,5,6]])b=array([[7,8,9],[10,11,12]])c=vstack((a,b))print(c)引入numpy模塊創建數組a創建數組b合并數組a和b二新課講解教師講解——組合數組→垂直組合數組from numpy import *a=array([[1,2,3],[4,5,6]])b=array([[7,8,9],[10,11,12]])c=vstack((a,b))print(c)數組a數組b數組c[[ 1 2 3][ 4 5 6][ 7 8 9][10 11 12]]二新課講解任務一請編寫程序,根據學習到的水平組合數組和垂直組合數組兩種方式,請將基礎數據表和總分表合并成一個文件。二新課講解任務一請編寫程序,根據學習到的水平組合數組和垂直組合數組兩種方式,請將基礎數據表和總分表合并成一個文件。二新課講解任務一請編寫程序,根據學習到的水平組合數組和垂直組合數組兩種方式,請將基礎數據表和總分表合并成一個文件。from numpy import *a=loadtxt('分項目成績表.txt')b=a.sum(1)b.shape=(15,1)c=hstack((a,b))savetxt('總分1.txt',c,fmt='%.2f',delimiter='\t')引入numpy模塊讀取文件數據將數組中的每一行進行求和計算將數組b變成15行1列的數組水平組合數組數據間用制表符分隔二新課講解課后練習請各小組編寫程序實現以下結果:1、利用文件導入的方式來計算本班學生體質健康水平測試各項目總分。2、將計算的總分以文本文件的方式保存。3、將基礎數據和總分文件合并,形成完整的總分文件。三課堂小結小結請各小組根據了解到的思維導圖的使用方法,使用思維導圖的方式總結本節課的知識。 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫