詳解Python中的算術乘法、數組乘法與矩陣乘法

2021-12-10 Python小屋

第1章  Python開發環境搭建與編碼規範8

本章學習目標8

1.1  Python開發環境搭建與使用8

1.1.1  IDLE8

1.1.2  Anaconda310

1.1.3  安裝擴展庫12

1.2  Python編碼規範13

1.3  標準庫、擴展庫對象的導入與使用15

1.3.1  import 模塊名[ as 別名]15

1.3.2  from 模塊名 import 對象名[ as 別名]15

1.3.3  from 模塊名 import *16

本章知識要點16

本章習題17

第2章  數據類型、運算符與內置函數18

本章學習目標18

2.1  常用內置數據類型18

2.1.1  整數、實數、複數19

2.1.2  列表、元組、字典、集合20

2.1.3  字符串21

2.2  運算符與表達式22

2.2.1  算術運算符22

2.2.2  關係運算符24

2.2.3  成員測試運算符25

2.2.4  集合運算符25

2.2.5  邏輯運算符26

2.3  常用內置函數26

2.3.1  類型轉換28

2.3.2  最大值、最小值29

2.3.3  元素數量、求和30

2.3.4  排序、逆序31

2.3.5  基本輸入輸出32

2.3.6  range()32

2.3.7  zip()33

2.3.8  map()、reduce()、filter()33

2.4  綜合應用與例題解析35

本章知識要點36

本章習題37

第3章  列表、元組、字典、集合與字符串38

本章學習目標38

3.1  列表與列表推導式38

3.1.1  創建列表38

3.1.2  使用下標訪問列表中的元素39

3.1.3  列表常用方法39

3.1.4  列表推導式41

3.1.5  切片操作42

3.2  元組與生成器表達式43

3.2.1  元組與列表的區別43

3.2.2  生成器表達式43

3.2.3  序列解包44

3.3  字典44

3.3.1  字典元素訪問45

3.3.2  字典元素修改、添加與刪除46

3.4  集合46

3.4.1  集合概述46

3.4.2  集合常用方法47

3.5  字符串常用方法47

3.5.1  encode()47

3.5.2  format()48

3.5.3  index()、rindex()、count()49

3.5.4  replace()、maketrans()、translate()49

3.5.5  ljust()、rjust()、center()50

3.5.6  split()、rsplit()、join()50

3.5.7  lower()、upper()、capitalize()、title()、swapcase()50

3.5.8  startswith()、endswith()51

3.5.9  strip()、rstrip()、lstrip()51

3.6  綜合應用與例題解析51

本章知識要點53

本章習題54

第4章  選擇結構、循環結構、函數定義與使用55

本章學習目標55

4.1  選擇結構55

4.1.1  條件表達式55

4.1.2  單分支選擇結構55

4.1.3  雙分支選擇結構56

4.1.4  嵌套的分支結構56

4.2  循環結構57

4.2.1  for循環57

4.2.2  while循環57

4.2.3  break與continue語句57

4.3  函數定義與使用58

4.3.1  函數定義基本語法58

4.3.2  lambda表達式58

4.3.3  遞歸函數59

4.3.4  生成器函數59

4.3.5  位置參數、默認值參數、關鍵參數、可變長度參數60

4.3.6  變量作用域61

4.4  綜合應用與例題解析61

本章知識要點63

本章習題64

第5章  文件操作65

本章學習目標65

5.1  文件操作基礎65

5.1.1  內置函數open()65

5.1.2  文件對象常用方法66

5.1.3  上下文管理語句with66

5.2  JSON文件操作67

5.3  CSV文件操作67

5.4  Word、Excel、PowerPoint文件操作實戰68

本章知識要點70

本章習題71

第6章 numpy數組與矩陣運算73

本章學習目標73

6.1  numpy數組及其運算73

6.1.1  創建數組73

6.1.2  測試兩個數組的對應元素是否足夠接近75

6.1.3  修改數組中的元素值76

6.1.4  數組與標量的運算76

6.1.5  數組與數組的運算77

6.1.6  數組排序78

6.1.7  數組的內積運算78

6.1.8  訪問數組中的元素79

6.1.9  數組對函數運算的支持80

6.1.10  改變數組形狀80

6.1.11  數組布爾運算81

6.1.12  分段函數82

6.1.13  數組堆疊與合併83

6.2  矩陣生成與常用操作84

6.2.1  生成矩陣84

6.2.2  矩陣轉置84

6.2.3  查看矩陣特徵85

6.2.4  矩陣乘法86

6.2.5  計算相關係數矩陣86

6.2.6  計算方差、協方差、標準差87

6.3  計算特徵值與特徵向量87

6.4  計算逆矩陣88

6.5  求解線性方程組89

6.6  計算向量和矩陣的範數90

6.7  奇異值分解91

6.8  函數向量化92

本章知識要點93

本章習題93

第7章  pandas數據分析實戰96

本章學習目標96

7.1  pandas常用數據類型96

7.1.1  一維數組與常用操作97

7.1.2  時間序列與常用操作100

7.1.3  二維數組DataFrame103

7.2  DataFrame數據處理與分析實戰105

7.2.1  讀取Excel文件中的數據106

7.2.2  篩選符合特定條件的數據107

7.2.3  查看數據特徵和統計信息110

7.2.4  按不同標準對數據排序112

7.2.5  使用分組與聚合對員工業績進行匯總114

7.2.6  處理超市交易數據中的異常值118

7.2.7  處理超市交易數據中的缺失值119

7.2.8  處理超市交易數據中的重複值121

7.2.9  使用數據差分查看員工業績波動情況122

7.2.10  使用透視表與交叉表查看業績匯總數據123

7.2.11  使用重採樣技術按時間段查看員工業績127

7.2.12  多索引相關技術與操作128

7.2.13  使用標準差與協方差分析員工業績130

7.2.14  使用pandas的屬性接口實現高級功能133

7.2.15  繪製各員工在不同櫃檯業績平均值的柱狀圖136

7.2.16  查看DataFrame的內存佔用情況137

7.2.17  數據拆分與合併138

本章知識要點142

本章習題143

第8章  sklearn機器學習實戰145

本章學習目標145

8.1  機器學習基本概念145

8.2  機器學習庫sklearn簡介151

8.2.1  擴展庫sklearn常用模塊與對象151

8.2.2  選擇合適的模型和算法155

8.3  線性回歸算法原理與應用155

8.3.1  線性回歸模型原理155

8.3.2  sklearn中線性回歸模型的簡單應用156

8.3.3  嶺回歸原理與sklearn實現157

8.3.4  套索回歸Lasso基本原理與sklearn實現158

8.3.5  彈性網絡基本原理與sklearn實現159

8.3.6  使用線性回歸模型預測兒童身高160

8.4  邏輯回歸算法原理與應用161

8.4.1  邏輯回歸算法原理與sklearn實現161

8.4.2  使用邏輯回歸算法預測考試能否及格164

8.5  樸素貝葉斯算法原理與應用164

8.5.1  基本概念164

8.5.2  樸素貝葉斯算法分類原理與sklearn實現167

8.5.3  使用樸素貝葉斯算法對中文郵件進行分類168

8.6  決策樹與隨機森林算法應用170

8.6.1  基本概念170

8.6.2  決策樹算法原理與sklearn實現171

8.6.3  隨機森林算法原理與sklearn實現174

8.6.4  使用決策樹算法判斷學員的Python水平176

8.7  支持向量機算法原理與應用178

8.7.1  支持向量機算法基本原理與sklearn實現178

8.7.2  使用支持向量機對手寫數字圖像進行分類182

8.8  KNN算法原理與應用184

8.8.1  KNN算法基本原理與sklearn實現184

8.8.2  使用KNN算法判斷交通工具類型187

8.9  KMeans聚類算法原理與應用188

8.9.1  KMeans聚類算法基本原理與sklearn實現188

8.9.2  使用KMeans算法壓縮圖像顏色191

8.10  分層聚類算法原理與應用193

8.11  DBSCAN算法原理與應用196

8.12  使用協同過濾算法進行電影推薦199

8.13  關聯規則分析原理與應用201

8.13.1  關聯規則分析原理與基本概念201

8.13.2  使用關聯規則分析演員關係202

8.14  數據降維205

8.15  交叉驗證與網格搜索207

8.15.1  使用交叉驗證評估模型泛化能力208

8.15.2  使用網格搜索確定模型最佳參數210

本章知識要點212

本章習題214

第9章  matplotlib數據可視化實戰215

本章學習目標215

9.1  數據可視化庫matplotlib基礎215

9.2  繪製折線圖實戰216

9.3  繪製散點圖實戰220

9.4  繪製柱狀圖實戰223

9.5  繪製餅狀圖實戰227

9.6  繪製雷達圖實戰230

9.7  繪製三維圖形實戰233

9.8  繪圖區域切分實戰240

9.9  設置圖例樣式實戰242

9.10  事件響應與處理實戰246

9.11  填充圖形260

9.12  保存繪圖結果262

本章知識要點263

本章習題264

習題答案265

附表1  運算符、內置函數對常用內置對象的支持情況276

附錄2  Python關鍵字清單277

附表3  常用標準庫對象速查表278

附錄4  常用Python擴展庫清單281

參考資料282

相關焦點

  • blender python處理矩陣乘法變更符號
    如果對矩陣對象執行任何乘法,要注意一件事情,Python 的最新版本(當然還有包含Blender內置Python版本)為適當的矩陣乘法實現了新的表示方法。用blender腳本編寫器編寫任何矩陣乘法,乘法* 語法仍然有效,這個只能作為 2.8 中嘗試普通乘法,而不是 2.7 中的矩陣乘法。如果你用在矩陣乘法會報出有趣的錯誤,因為這並不一定會拋出一個錯誤,a * ba @ b想要支持 2.7 和 2.8 的相同矩陣乘法樣式?
  • 矩陣乘法的純Python實現 | 離開Python庫!!
    在《這篇文章》中,我們有簡單提到「矩陣乘法」的相關知識,如果你不記得了,可以複習一下這張圖片。想起來了沒?本篇文章將深入探討在沒有機器學習庫的情況下如何從零實現矩陣乘法!你有沒有想過在沒有任何複雜的機器學習庫的情況下處理機器學習問題?
  • 矩陣乘法求解多項式遞推問題
    矩陣乘法在多項式的遞推求解中往往佔著非常重要的作用,下面將對矩陣乘法求解遞推多項式做下簡單的介紹。1.斐波那契數列問題引入對於求斐波那契數列第n項的問題,相信大家已經非常熟悉了,下面做一下簡單的描述。2.矩陣快速冪求解斐波那契數列前導知識:矩陣乘法運算,快速冪思想斐波那契遞推公式:
  • 矩陣乘法計算器
    矩陣乘法計算器 學習辦公 大小: 791KB
  • 斐波那契數列與矩陣乘法的聯繫以及其python實現
    (況且在python中實際列表所佔地址空間會大於其可見長度。)所以這種方式顯然不是可取的方式。但是在斐波那契數列數列需要經常進行運算且n較小的時候,直接採取已經定義好的列表看起來的確是個一勞永逸的方法。但是如果面試官要求你不使用列表,即儘可能減少內存佔用呢?這裡問題就可以簡化為只使用兩個變量。
  • 線性代數的第一堂課──矩陣乘法的定義
    這句話讓人一頭霧水,要理清話中的涵意必須從矩陣的發展歷史說起。十七至十九世紀中葉,數學活動在歐洲以飛快的速度朝著各個領域發展,此時關於「陣列」(簡: 數組, array)運算的研究全部集中於行列式理論,矩陣理論並未隨著行列式同步發展。事實上,矩陣理論足足落後行列式兩百年之久。
  • Adreno GPU 矩陣乘法——第1講:OpenCL優化
    然而,MM算法在密集並行問題中具有其獨特性,因為它需要在各個計算工作項之間共享大量的數據。在要相乘的矩陣中,例如A和B,每個元素對結果矩陣C的不同分量貢獻多次。因此,為Adreno優化MM算法需要我們利用GPU內存子系統。關於GPU 上的矩陣乘法存在哪些困難?
  • 矩陣乘法的通俗理解
    今天先分享一下矩陣乘法的理解。一、問題引出 - 一道小學生應用題計算題一:小明今天要做飯,消耗2斤肉,1斤蔬菜。肉每斤20元,蔬菜每斤5元,則一共需多少花費?             解法: 20 X 2+ 5 X 1 = 45計算題二:小明第二天有另一種做飯的方法,需要消耗1斤肉,4斤蔬菜,那麼這兩種方法的花費各是多少呢?
  • 我們該如何看待矩陣的乘法
    在講矩陣的乘法之前,我們先來看線性方程組的幾何解釋,由此來引入矩陣乘法我們該如何看待以及如何運算。
  • 可視化模型:這樣做乘法啟蒙, 娃就能理解乘法的來龍去脈!(免費獲取)
    除了以上理解乘法概念的方式,我們還可以用「數組」來表示乘法。規則的數組陣列,通過「幾行幾列」來理解乘法的含義。在下面的圖表中,我們用規則的方塊數組來表示乘法的含義,在下面的例子中:行的個數是5,列的個數是3,乘法算式:5*3=15。孩子能夠很清楚得看出5*3=15是怎麼來,5*3為什麼等於15。同樣,我們也給出了不同的模型來加強孩子對這種方式的理解。
  • 十個利用矩陣乘法解決的經典題目
    這裡我們不介紹其它有關矩陣的知識,只介紹矩陣乘法和相關性質。不要以為數學中的矩陣也是黑色屏幕上不斷變化的綠色字符。在數學中,一個矩陣說穿了就是一個二維數組。一個n行m列的矩陣可以乘以一個m行p列的矩陣,得到的結果是一個n行p列的矩陣,其中的第i行第j列位置上的數等於前一個矩陣第i行上的m個數與後一個矩陣第j列上的m個數對應相乘後所有m個乘積的和。
  • 一直不解,為什麼如此定義矩陣的乘法,為什麼這樣一種怪異的乘法規則卻能夠在實踐中發揮如此巨大的功效?
    難道在矩陣乘法那看上去莫名其妙的規則下面,包含著世界的某些本質規律?如果是的話,這些本質規律是什麼?矩陣的乘法的規則並不是莫名其妙的,而是有它的意義的。學過矩陣的同學應該知道線性代數這門課,這門課程同時還講到了線性空間等相關知識。在線性空間下理解,矩陣其實就是一個線性映射,而矩陣的乘積就是線性映射的複合。
  • 線性代數入門——矩陣乘法的定義及其意義
    文章中的例題大多為紮實基礎的常規題目和幫助加深理解的概念辨析題,並有相當數量的歷年考研試題。對於一些難度較大或對理解所學知識有幫助的「經典好題」,我們會詳細講解。閱讀更多「線性代數入門」系列文章,歡迎關注數學若只如初見!
  • python:做9*9乘法表
    #python#這次教大家利用python幾行代碼完成簡單的9*9乘法口訣表。9*9乘法口訣表下面利用python的for循環完成 9*9乘法口訣表編制by偉森leung 喜歡本文章的可以請關注偉森leung,後續有更多python方面的知識分享。
  • 矩陣乘法的簡單應用-信息檢索
    矩陣乘法是線性代數中最基本的運算,但其運算法則理解起來具有一定的困難,更多的解釋是基於線性方程組的矩陣形式的角度。這僅僅是矩陣乘法的一個最基本的應用,實際上它在實際應用中具有更多更重要的影響。矩陣乘法在信息檢索中的應用隨著信息化的發展,網絡或圖書館中的信息越來越多,信息提取問題,即如何快速有效的從眾多信息中搜索自己所關心的內容,就變得越來越重要,與這個問題緊密相關的就是矩陣理論與線性代數中相關知識,例如矩陣與向量乘法、向量的內積運算、矩陣特徵值問題等。
  • 0044 使用JavaScript在網頁上生成九九乘法口訣表
    輸出的結果不會顯示到網頁內容中,只會出現在瀏覽器的調試工具的console窗口中。數據類型:數字、字符串、布爾和數組變量可以存儲不同的數據類型的值。常見的數據類型有數字、字符串、布爾和數組。JavaScript只有一種數字類型,可以帶小數點也可以不帶。
  • 考研數學矩陣乘法複習指導
    儘管矩陣乘法不滿足交換律。但是,矩陣乘法在多方面的成功應用,令人感到很愜意。         1.若A,B都是n階方陣,則|AB|=|A||B|。        我們知道,|A+B|難解。
  • cuda入門:如何進行矩陣乘法優化
    所以我們的第二個 CUDA 程序,要做一個確實有(某些)實用價值的程序,也就是進行矩陣乘法。而且,這次我們會使用浮點數。  雖然矩陣乘法有點老套,不過因為它相當簡單,而且也可以用來介紹一些有關 CUDA 的有趣性質。  矩陣乘法  為了單純起見,我們這裡以方形的矩陣為例子。
  • ARM處理器NEON編程及優化技巧——矩陣乘法的實例
    矩陣乘法中的向量乘以標量的運算假設每列元素在NEON寄存器中表示為一個向量,那麼上述的矩陣乘法就是一個向量乘以標量的運算,而後續的累加也同樣可以同向量乘以標量的累加指令實現。因為我們的操作是在第一個矩陣的列,然後計算列的結果,讀列元素和寫列元素都是線性的加載和存儲操作,不需要interleave的加載和存儲操作。
  • matlab官方快速入門----矩陣和數組
    MATLAB®主要用於處理整個的矩陣和數組,而其他程式語言大多逐個處理數值,所有 MATLAB 變量都是多維數組,與數據類型無關。矩陣是指通常用來進行線性代數運算的二維數組。數組創建要創建每行包含四個元素的數組,請使用逗號 (,) 或空格分隔各元素。