編程不難 (全彩圖解 + 微課 + Python 編程)

薑偉生

  • 編程不難 (全彩圖解 + 微課 + Python 編程)-preview-1
  • 編程不難 (全彩圖解 + 微課 + Python 編程)-preview-2
  • 編程不難 (全彩圖解 + 微課 + Python 編程)-preview-3
編程不難 (全彩圖解 + 微課 + Python 編程)-preview-1

買這商品的人也買了...

相關主題

商品描述

《編程不難:全彩圖解+微課+Python編程》是“鳶尾花數學大系—從加減乘除到機器學習”叢書的第一冊,也是“編程”板塊的第一冊, 著重介紹如何零基礎入門學 Python 編程。雖然《編程不難:全彩圖解+微課+Python編程》主要講解 Python 編程,但是也離不開數學。《編程不難:全彩圖解+微課+Python編程》盡量 避免講解數學概念公式,而且用圖形和近乎口語化的語言描述程序設計、數據分析、機器學習背後常用的 數學思想。 《編程不難:全彩圖解+微課+Python編程》分為預備、語法、繪圖、數組、數據、數學、機器學習、應用八大板塊, 共 36 章, 內容“跨度”極大! 從 Python 基本編程語法,到基本可視化工具,再到各種數據操作工具,還介紹常用 Python 實現的各種復 雜數學運算,進入數據分析和機器學習之後,還講解如何搭建應用 App。我們可以把《編程不難:全彩圖解+微課+Python編程》看作從 Python 編 程角度對“鳶尾花書”全系內容的總覽。 《編程不難:全彩圖解+微課+Python編程》提供代碼示例和講解,而且提供習題,每章還配套 Jupyter Notebook 代碼文件(Jupyter Notebook 不是可有可無的,而是學習生態的關鍵一環, “鳶尾花書”強調在 JupyterLab 自主探究學習才能提高大家 編程技能)。《編程不難:全彩圖解+微課+Python編程》配套微課也主要以配套 Jupyter Notebooks 為核心,希望讀者邊看視頻,邊動手練習。 《編程不難:全彩圖解+微課+Python編程》讀者群包括所有試圖用編程解決問題的朋友,尤其適用於初級程序員進階、高級數據分析師、機器學習開發者。

目錄大綱

目錄

 

緒論 ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? 1

  

第 1章 聊聊“巨蟒”   9

 

1.1 Python? 巨蟒 ?   10

1.2 Python 和可視化有什麽關系 ?   14

1.3 Python 和數學有什麽關系 ?   14

1.4 Python 和機器學習有什麽關系 ?   20

1.5 相信“反復 + 精進 ”的力量!   21

 

第 2章 安裝使用Anaconda   29

 

2.1 集成開發環境   30

2.2 如何安裝 Anaconda?   31

2.3 測試 JupyterLab   33

2.4 查看 Python 第三方庫版本號   35

2.5 安裝、更新、卸載 Python 第三方庫   38

 

第 3章 JupyterLab,用起來!     41

 

3.1 什麽是 JupyterLab?   42

3.2 使用 JupyterLab:立刻用起來   43

3.3 快捷鍵:這一章可能最有用的內容   48

3.4 什麽是 LaTeX?   51

3.5    字母和符號   52

3.6    用 LaTex 寫公式   57

 

 

第4章 Python語法,邊學邊用   63

 

4.1 Python 也有語法 ?   64

4.2 註釋:不被執行,卻很重要   66

4.3 縮進:四個空格,標識代碼塊   69

4.4 變量:一個什麽都能裝的箱子   72

4.5 使用 import 導入包   74

4.6 Pythonic:Python 風格   76

 

 

第 5章 Python數據類型   77

 

5.1 數據類型有哪些 ?   78

5.2 數字:整數、浮點數、復數   79

5.3 字符串:用引號定義的文本   81

5.4 列表:存儲多個元素的序列   88

5.5 其他數據類型:元組、集合、字典   94

5.6 矩陣、向量:線性代數概念   95

 

第 6章 Python常見運算   101

 

6.1 幾類運算符   102

6.2 算術運算符   103

6.3 比較運算符   105

6.4 邏輯運算符   106

6.5 賦值運算符   107

6.6 成員運算符   108

6.7 身份運算符   108

6.8 優先級   109

6.9 聊聊 math 庫   109

6.10 聊聊 random 庫和 statistics 庫   113

 

第 7章 Python控制結構   123

 

7.1 什麽是控制結構?   124

7.2 條件語句:相當於開關   126

7.3 for循環語句   129

7.4 列表生成式   138

7.5 迭代器itertools   143

 

 

 

第 8章    Python函數   147

8.1    什麽是 Python 函數 ?   148

8.2     自定義函數   152

8.3    更多自定義線性代數函數   160

8.4    遞歸函數:自己反復調用自己   164

8.5    位置參數、關鍵字參數   165

8.6    使用 *args 和 **kwargs   167

8.7    匿名函數   169

8.8    構造模塊、庫   170

8.9    模仿別人的代碼   171

 

第 9章    Python面向對象編程   175

 

9.1    什麽是面向對象編程 ?   176

9.2    定義屬性   178

9.3    定義方法   180

9.4    裝飾器   181

9.5    父類、子類   182

 

第 10章   聊聊可視化 ??????????????????????????????????????????????????????????????????????????????????????????????? 187

 

10.1 解剖一幅圖   188

10.2 使用 Matplotlib 繪制線圖   190

10.3 圖片美化   198

10.4 使用 Plotly 繪制線圖   202

 

第 11章 二維和三維可視化   209

 

11.1 二維可視化方案   210

11.2 二維散點圖   210

11.3 二維等高線圖   216

11.4 熱圖   222

11.5 三維可視化方案   225

11.6 三維散點圖   229

11.7 三維線圖   231

11.8 三維網格曲面圖   232

11.9 三維等高線圖   234

11.10 箭頭圖   235

 

 

第 12章   Seaborn可視化數據 ?????????????????????????????????????????????????????????????????????????????????? 239

 

12.1    Seaborn:統計可視化利器   240

12.2    一元特徵數據   241

12.3    二元特徵數據   252

12.4    多元特徵數據   257

 

第 13章    聊聊NumPy ??????????????????????????????????????????????????????????????????????????????????????????????? 265

 

13.1    什麽是 NumPy?   266

13.2    手動構造數組   267

13.3    生成數列   273

13.4    生成網格數據   274

13.5    特殊數組   276

13.6    隨機數   276

13.7    數組導入、導出   280

 

第 14章    NumPy索引和切片 ??????????????????????????????????????????????????????????????????????????????????? 283

 

14.1    什麽是索引、切片 ?   284

14.2    一維數組索引、切片   284

14.3    視圖 vs 副本   287

14.4    二維數組索引、切片   289

 

第 15章    NumPy常見運算 ??????????????????????????????????????????????????????????????????????????????????????? 293

 

15.1    加、減、乘、除、乘冪   294

15.2    廣播原則   295

15.3    統計運算   298

15.4    常見函數   301

 

第 16章    NumPy數組規整 ??????????????????????????????????????????????????????????????????????????????????????? 307

 

16.1    從 reshape() 函數說起   309

16.2    一維數組 → 行向量、列向量   310

16.3    一維數組 → 二維數組   311

16.4    一維數組 → 三維數組   312

16.5    視圖 vs 副本   312

16.6    轉置   313

16.7    扁平化   314

16.8    旋轉、翻轉   314

16.9    堆疊   315

16.10    重復   317

16.11    分塊矩陣   318

 

第 17章    NumPy線性代數   321

 

17.1    NumPy 的 linalg 模塊   322

17.2    拆解矩陣   323

17.3    向量運算   325

17.4    矩陣運算   329

17.5    幾個常見矩陣分解   333

 

第18章    NumPy愛因斯坦求和約定   337

18.1    什麽是愛因斯坦求和約定?   338

18.2    二維數組求和   340

18.3    轉置   341

18.4    矩陣乘法   343

18.5    一維數組   345

18.6    方陣   346

18.7    統計運算   347

 

第 19章    聊聊Pandas ??????????????????????????????????????????????????????????????????????????????????????????????? 351

19.1    什麽是 Pandas?   353

19.2    創建數據幀:從字典、列表、NumPy 數組   354

19.3    數據幀操作:以鳶尾花數據為例   357

19.4    四則運算:各列之間   363

19.5    統計運算:聚合、降維、壓縮、折疊   365

19.6    時間序列:按時間順序排列的數據   368

 

第 20章    Pandas快速可視化 ?????????????????????????????????????????????????????????????????????????????????? 373

20.1    Pandas 的可視化功能   374

20.2    線圖:pandas.DataFrame.plot()   375

20.3    散點圖   378

20.4    柱狀圖   381

20.5    箱型圖   382

20.6    直方圖和核密度估計曲線   382

 

第 21章    Pandas索引和切片 ??????????????????????????????????????????????????????????????????????????????????? 385

21.1    數據幀的索引和切片 ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? 386

21.2    提取特定列   387

21.3    提取特定行   388

21.4    提取特定元素   388

21.5    條件索引   389

21.6    多層索引   391

21.7    時間序列數據幀索引和切片   395

 

第 22章    Pandas規整 ?????????????????????????????????????????????????????????????????????????????????????????????? 399

22.1    Pandas 數據幀規整   400

22.2    拼接:pandas.concat()   401

22.3    合並:pandas.join()   402

22.4    合並:pandas.merge()   405

22.5    長格式轉換為寬格式:pivot()   409

22.6    寬格式轉換為長格式:stack()   411

22.7    長格式轉換為寬格式:unstack()   414

22.8    分組聚合:groupby()   415

22.9     自定義操作:apply()   417

 

第 23章    Plotly統計可視化 ????????????????????????????????????????????????????????????????????????????????????? 421

23.1    Plotly 常見可視化方案:以鳶尾花數據為例   422

23.2    增加一組分類標簽   424

23.3    兩組標簽:兩個維度   428

23.4    可視化比例:柱狀圖、餅圖   432

23.5    鑽取:多個層次之間的導航和探索   434

23.6    太陽爆炸圖:展示層次結構   438

23.7    增加第三切割維度   440

23.8    平均值的鑽取:全集 vs 子集   447

 

第 24章    Pandas時間序列數據 ?????????????????????????????????????????????????????????????????????????????? 453

24.1    什麽是時間序列 ?   454

24.2    缺失值:用 NaN 表示   457

24.3    移動平均:一種平滑技術   460

24.4    收益率:相對漲跌   462

24.5    統計分析:均值、波動率等   464

24.6    相關性:也可以隨時間變化   474

 

第 25章   SymPy符號運算   481

 

25.1    什麽是 SymPy?   482

25.2    代數   482

25.3    線性代數   487

 

第 26章   SciPy數學運算 ?????????????????????????????????????????????????????????????????????????????????????????? 499

 

26.1    什麽是 SciPy ?   500

26.2    距離   502

26.3    插值   507

26.4    高斯分佈   510

 

第 27章   Statsmodels統計模型 ?????????????????????????????????????????????????????????????????????????????? 517

 

27.1    什麽是 Statsmodels?   518

27.2    二維散點圖 + 橢圓   519

27.3    最小二乘線性回歸   522

27.4    主成分分析   524

27.5    概率密度估計:高斯 KDE   535

 

第 28章   Scikit-Learn機器學習   545

28.1    什麽是機器學習 ?   546

28.2    有標簽數據、無標簽數據   549

28.3    回歸:找到自變量與因變量關系   550

28.4    降維:降低數據維度,提取主要特徵   551

28.5    分類:針對有標簽數據   552

28.6    聚類:針對無標簽數據   553

28.7    什麽是 Scikit-Learn?   554

 

第29章   Scikit-Learn數據   555

29.1    Scikit-Learn 中有關數據的工具   557

29.2    樣本數據集   557

29.3    生成樣本數據   558

29.4    特徵縮放   561

29.5    處理缺失值   563

29.6    處理離群值   566

29.7    訓練集 vs 測試集   570

 

第30章   Scikit-Learn回歸   573

 

30.1    聊聊回歸   574

30.2    一元線性回歸   575

30.3    二元線性回歸   577

30.4    多項式回歸   579

30.5    正則化:抑制過度擬合   584

 

第 31章   Scikit-Learn降維 ??????????????????????????????????????????????????????????????????????????????????????? 589

 

31.1    降維   590

31.2    主成分分析   591

31.3    兩特徵 PCA   595

31.4    三特徵 PCA   601

 

第 32章   Scikit-Learn分類 ?????????????????????????????????????????????????????????????????????????????????????? 605

 

32.1    什麽是分類?   606

32.2    k 最近鄰分類:近朱者赤,近墨者黑   607

32.3    高斯樸素貝葉斯分類:貝葉斯定理的應用   611

32.4    支持向量機:間隔最大化   613

32.5    核技巧:數據映射到高維空間   616

 

第 33章   Scikit-Learn聚類 ?????????????????????????????????????????????????????????????????????????????????????? 619

 

33.1    聚類   620

33.2   K 均值聚類   621

33.3    高斯混合模型   624

 

第 34章    瞭解一下Spyder ??????????????????????????????????????????????????????????????????????????????????????? 633

 

34.1    什麽是 Spyder?   634

34.2    Spyder 用起來   637

34.3    快捷鍵:這章可能最有用的內容   639

 

第 35章    Streamlit搭建Apps ??????????????????????????????????????????????????????????????????????????????????? 641

 

35.1    什麽是 Streamlit ?  642

35.2    顯示   645

35.3    可視化   646

35.4    輸入工具   647

35.5    App 佈局   649

 

第 36章   Streamlit搭建機器學習Apps ?????????????????????????????????????????????????????????????????? 653

36.1    搭建應用 App:編程 + 數學 + 可視化 + 機器學習   654

36.2    一元高斯分佈   654

36.3    二元高斯分佈   655

36.4    三元高斯分佈   656

36.5    多項式回歸   657

36.6    主成分分析   657

36.7    k 最近鄰分類   658

36.8    支持向量機 + 高斯核   659

36.9    高斯混合模型聚類   660