版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第5章Python與Numpy本章主要內容5.1Python簡介5.2Numpy簡介5.3課后習題5.1Python簡介5.1Python簡介近些年,由于Python語言的簡潔性、易讀性和可擴展性,IT行業內外掀起了一股學習Python的熱潮,特別是隨著大量方便快捷的擴展工具包涌現,Python更是成為了很多都市白領的必備技能。5.1.1Anaconda簡介Anaconda是一個開源的Python發行版本,其包含了conda、Python等180多個科學包及其依賴項,還有很多安裝好的工具包,比如之后介紹的numpy、pandas等。有了Anaconda我們的PC機就可以運行各種各樣的Python科學計算程序。5.1.1Anaconda簡介下載&雙擊傻瓜式“下一步”5.1.2JupiterNotebook簡介5.1.2JupiterNotebook簡介快速執行某個cell里的代碼(shift+Enter)向前增加一個cell(a)向后增加一個cell(b)刪除一個cell(dd)清空已執行的結果5.1.3Python常用語法變量類型列表型與字典型5.2Numpy簡介5.2Numpy簡介——原生python的問題實戰案例:(1)有一個列表,里面裝有5個數字,現讓所有的數字都加上100,得到一個新列表。(2)一個人買了5種商品,第一個列表中存放著5種商品的個數,第二個列表中存放著5中商品的單價,求每個商品花了多少錢?5.2Numpy簡介——numpy安裝5.2.1初始數組——Numpy中的ndarrayndarray是個好東西!!有了它,numpy可以無循環地對整組數據進行快運算。(1)ndarray數組大小不能變動,(2)數組內元素類型必須保持一致(3)進行對位運算的數組大小必須相同(4)進行對位運算的數組內元素類型必須相同5.2.2數組的創建用原生python的列表創建用numpy創建特定數組(zerosones)用numpy創建有規律的數組(arangelinspace)用numpy創建隨機數組(random.randintrandom.uniform)5.2.3數組的索引——數組的形狀與維度多維數組reshapeshapesizeT5.2.3數組的索引傳統索引 array[0][0]新索引
array[0,0]切片布爾型索引花式索引5.2.4Numpy的常用方法和屬性求數組中每個元素的絕對值:np.abs()求數組中每個元素四舍五入值:np.round()求數組中每個元素向上取整:np.ceil()求數組中每個元素向下取整:np.floor()求數組中所有元素的平均值:np.mean()求數組中所有元素的方差:np.var()求數組中所有元素的標準差:np.std()求數組中最大值:np.max()求數組中最小值:np.min()求數組中最大值對應的索引:np.argmax()求數組中最小值對應的索引:np.argmin()取兩個數組中對位小的部分:np.minimum(a1,a2)取兩個數組中對位小的部分:np.maximum(a1,a2)5.2.4Numpy的常用方法和屬性np.inf和np.nan5.3
課后習題5.3課后習題1.安裝Anaconda,運行圖5-8、圖5-9所示代碼;2.創建1個擁有8個元素的一維數組,內容是8個隨機整數,取值范圍是1-100,然后將這個數組轉化成一個2行4列的二維數組;3.創建1個擁有8個元素的一維數組,內容是8個隨機整數,取值范圍是1-100,采用布爾型索引找出其中大于10的元素;4.創建1個擁有8個元素的一維數組,內容是8個隨機整數,取值范圍是1-100,計算數組中所有元素的平均值、方差。第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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 燃氣用戶安裝檢修工安全知識競賽考核試卷含答案
- 木竹藤材干燥工崗前未來趨勢考核試卷含答案
- 麻纖維脫膠工崗位生產安全水平考核試卷含答案
- 危險廢物處理工沖突解決知識考核試卷含答案
- 水文勘測船工崗前進度管理考核試卷含答案
- 應屆畢業生就業前景預測
- 職業規劃大賽演講稿模板
- 畜牧業安全知識講解
- 2026年版三高癥知識指南解讀
- 企業人事行政管理工作總結報告
- (正式版)DB15∕T 3413-2024 《住宅小區和商業用房供配電設施規范》
- 肌骨常見疾病的超聲診斷
- 2024年江蘇科技大學輔導員考試真題
- DG∕TJ 08-2019-2019 膜結構檢測標準
- 建筑工程土建主體部分施工方案
- 租賃儀器合同協議
- 成人原發性腹壁疝腹腔鏡手術中國專家共識(2025版)解讀課件
- 2024-2025學年河南省“金太陽聯考”高一年級上學期期中考試數學試題(含答案)
- 2024年新北師大版八年級上冊物理全冊教學課件(新版教材)
- 2023年基因檢測項目評估報告
- 87種隱蔽驗收記錄填寫方法
評論
0/150
提交評論