Python 與數據分析及可視化, 2/e (微課視頻版)

李魯群、李曉豐、鄭曉寧、孫璇

  • Python 與數據分析及可視化, 2/e (微課視頻版)-preview-1
  • Python 與數據分析及可視化, 2/e (微課視頻版)-preview-2
  • Python 與數據分析及可視化, 2/e (微課視頻版)-preview-3
  • Python 與數據分析及可視化, 2/e (微課視頻版)-preview-4
  • Python 與數據分析及可視化, 2/e (微課視頻版)-preview-5
  • Python 與數據分析及可視化, 2/e (微課視頻版)-preview-6
  • Python 與數據分析及可視化, 2/e (微課視頻版)-preview-7
Python 與數據分析及可視化, 2/e (微課視頻版)-preview-1

相關主題

商品描述

本書由Python語言基礎、數據分析、數據可視化三部分內容組成。Python語言基礎部分系統地介紹了Python的數據類型與運算、程序流控制、函數、面向對象程序設計、文件等知識,總結了它們之間的邏輯關系。通過這部分內容的學習,讀者可以系統地掌握Python程序設計的核心內容。數據分析部分:涵蓋了網絡爬蟲、文本和數字數據處理、以及Pandas數據分析等內容。通過這部分內容學習,讀者可以學會從數據獲取到數據分析的過程。數據可視化部分以Seaborn為工具重點介紹了數據及模型分析可視化的本質和方法,而不是單純追求酷炫的數據展示效果。通過這部分內容學習,讀者可以從深層次掌握通過數據可視化分析和展示相關業務數據的過程。 本書可以作為高校計算機編程入門教材或參考書,也適合各種從業者,包括數據科學家、數據分析師、數據工程師和研究人員等閱讀。讀者學習本書內容之前,無須任何編程基礎。

作者簡介

李魯群,教授,博士,上海師範大學計算機碩士點學科負責人,從事計算機網絡理論與應用、機器學習教學與研究。上海市高校教指委委員、上海市計算機協會物聯網分會委員。近年來,完成教育部產學研協同育人項目12項、上海市教委重點項目3項、上海師範大學教學成果一等獎2項、上海市教學成果二等獎1項、上海市科技進步二等獎2項。主編《Python與數據分析及可視化》、《Android應用程序設計》教材2部。

目錄大綱

 

目錄

 

 

案例源碼

 

 

第1章緒論

 

1.1Python語言簡介

 

1.1.1誕生背景

 

1.1.2發展現狀

 

1.1.3未來趨勢

 

1.2Python語言特色

 

1.2.1設計哲學

 

1.2.2語言特點

 

1.3Python應用領域

 

1.4Python人才技能分析

 

1.5學習Python的SWOT分析

 

1.5.1優勢

 

1.5.2劣勢 

 

1.5.3機會 

 

1.5.4威脅 

 

1.6本書的知識體系結構

 

1.6.1教學內容設計

 

1.6.2教學設計特色

 

1.6.3教輔資源豐富

 

1.7本書適合的讀者

 

1.8如何掌握本書內容

 

1.9本章小結

 

1.10習題

 

第2章Python程序開發環境

 

2.1Python開發環境

 

2.1.1開發環境組成

 

2.1.2系統版本類別

 

2.2Python系統層——軟件安裝

 

2.2.1安裝: Python系統軟件

 

2.2.2檢查: Python開發環境

 

2.2.3體驗: IDLE開發環境

 

2.2.4配置: 虛擬開發環境

 

2.3Python擴展層——模塊維護

 

2.3.1查看: pip list、pip show、pip freeze

 

2.3.2安裝: pip install、pip install U

 

2.3.3下載: pip download

 

2.3.4卸載: pip uninstall

 

2.4Python應用層——集成開發環境

 

2.4.1輕量級: Spyder集成開發工具

 

2.4.2演示級: Jupyter Notebook、Lab集成開發工具

 

2.4.3專業級: PyCharm集成開發工具 

 

2.5Python幫助系統

 

2.5.1靜態: 幫助文檔

 

2.5.2動態: 幫助函數

 

2.5.3在線: 服務系統

 

2.5.4檢索: 案例代碼

 

2.6教材配套Python Education Tools

 

2.6.1模塊的安裝

 

2.6.2模塊的使用

 

2.7編寫第一個入門程序

 

2.7.1打印中英文本程序

 

2.7.2朗誦中英文文本程序

 

2.8本章小結

 

2.9習題

 

第3章Python程序設計基本概念

 

3.1Python程序概念

 

3.1.1程序的定義

 

3.1.2程序的編寫

 

3.1.3程序的運行

 

3.1.4程序的文件類型

 

3.2Python源程序的組成

 

3.2.1程序代碼示例

 

3.2.2編碼格式聲明

 

3.2.3註釋與文檔屬性

 

3.2.4程序中的變量

 

3.2.5程序中的代碼塊

 

3.3Python的標識符

 

3.3.1標識符的作用

 

3.3.2命名規則

 

3.3.3特殊標識符

 

3.4Python內置要素

 

3.4.1關鍵詞

 

3.4.2內置常量

 

3.4.3內置函數

 

3.4.4名字空間

 

3.4.5綜合案例: 探究變量在名字空間內的變化

 

3.5Python代碼的組織與使用

 

3.5.1模塊

 

3.5.2常用的模塊

 

3.5.3包

 

3.5.4模塊與包的區別

 

3.6本章小結

 

3.7習題

 

第4章Python的數據類型

 

4.1內置數據類型分類

 

4.2數字類型

 

4.2.1整型、浮點類型

 

4.2.2隨機數的生成

 

4.2.3數字類型運算符

 

4.2.4布爾類型

 

4.2.5布爾運算符

 

4.2.6其他數字類型

 

4.2.7綜合案例: 數字加密程序

 

4.3序列類型 

 

4.3.1序列的共性

 

4.3.2常用序列: list、range、tuple

 

4.3.3字符序列: str 

 

4.3.4字節序列: bytes、bytearray、memoryview 

 

4.3.5綜合案例1: 條件賦值

 

4.3.6綜合案例2: 學生成績評定程序

 

4.3.7綜合案例3: 三個玩家摸牌遊戲

 

4.4集合類型

 

4.4.1集合種類: set、frozenset

 

4.4.2集合的創建

 

4.4.3集合相關運算

 

4.4.4綜合案例1: 集合運算演示

 

4.4.5綜合案例2: 彩票投註遊戲

 

4.5字典類型: dict

 

4.5.1字典的創建

 

4.5.2字典相關運算

 

4.5.3綜合案例: 字典數據的合並

 

4.6數據的整合

 

4.6.1首尾“串接”數據: chain()函數

 

4.6.2交錯“編織”數據: zip()函數

 

4.6.3綜合案例: 一維滑動窗口數據的獲取

 

4.7collections模塊中的數據類型

 

4.7.1計數器: Counter

 

4.7.2雙向隊列: deque

 

4.7.3命名元組: namedtuple

 

4.7.4有序字典: OrderedDict

 

4.7.5默認字典: defaultdict

 

4.7.6綜合案例

 

4.8本章小結

 

4.9習題

 

第5章程序流控制與異常處理

 

5.1程序流控制

 

5.2if條件語句

 

5.2.1if條件控制語句

 

5.2.2if條件表達式語句

 

5.3循環語句

 

5.3.1forin循環語句

 

5.3.2while循環語句

 

5.4匹配控制語句

 

5.4.1簡單的matchcase語句

 

5.4.2復雜的matchcase語句

 

5.5無條件控制語句

 

5.5.1pass空語句

 

5.5.2break跳轉語句

 

5.5.3continue跳轉語句

 

5.6異常流的處理

 

5.6.1斷言assert 

 

5.6.2異常捕獲與處理

 

5.7綜合案例

 

5.7.1案例: 趣味語音點名程序

 

5.7.2案例: 粉絲群統計與查詢

 

5.7.3案例: 測試Python對象類型

 

5.8本章小結

 

5.9習題

 

第6章函數及其高級應用

 

6.1函數簡介

 

6.1.1函數的定義

 

6.1.2函數的文檔

 

6.1.3變量的作用域

 

6.2函數的形參與實參傳遞

 

6.2.1位置參數傳遞

 

6.2.2默認參數值傳遞

 

6.2.3關鍵字參數傳遞

 

6.2.4可變參數傳遞

 

6.2.5綜合案例: 函數多種參數定義

 

6.3lambda函數

 

6.3.1lambda語法

 

6.3.2綜合案例: lambda函數用於排序

 

6.4推導式——行函數

 

6.4.1元組、列表、集合推導式

 

6.4.2字典推導式

 

6.4.3綜合案例1: 模糊邏輯控制

 

6.4.4綜合案例2: 創建Python關鍵詞字典

 

6.4.5綜合案例3: 構建字符串中字符索引列表

 

6.5復合函數

 

6.5.1過濾函數: filter()

 

6.5.2映射函數: map()

 

6.5.3歸並函數: reduce()

 

6.5.4綜合案例1: 數據過濾、映射與歸並

 

6.5.5綜合案例2: 一維滑動窗口通用函數的實現

 

6.5.6綜合案例3: 多個字典的數值求和函數的實現

 

6.6函數的高級應用

 

6.6.1裝飾器: decorator

 

6.6.2閉包: closure

 

6.6.3生成器: generator

 

6.6.4疊代器: Iterator

 

6.6.5綜合案例: 斐波那契數列數據的生成

 

6.7執行函數

 

6.7.1執行字符串表達式: eval()

 

6.7.2執行字符串代碼: exec()

 

6.7.3綜合案例: 執行外部Python程序

 

6.8本章小結

 

6.9習題

 

第7章面向對象程序設計

 

7.1程序設計方法

 

7.1.1對事物的認知

 

7.1.2面向對象分析

 

7.2類的設計

 

7.2.1類的聲明

 

7.2.2類中的變量

 

7.2.3類中的方法

 

7.2.4對象的創建

 

7.3類的進階設計

 

7.3.1類的封裝

 

7.3.2類的繼承

 

7.3.3類的多態性

 

7.3.4可疊代對象

 

7.3.5函數偽裝成屬性

 

7.3.6類的運算符重載

 

7.3.7抽象類

 

7.4函數式與面向對象編程對比

 

7.4.1函數式編程的優缺點

 

7.4.2面向對象編程的優缺點

 

7.4.3編程方法的選擇

 

7.5綜合案例: 狼與虎互搏遊戲的模擬

 

7.6本章小結

 

7.7習題

 

第8章文件與目錄操作

 

8.1Python的文件處理

 

8.1.1操作文件: 打開與關閉

 

8.1.2應對異常: 捕獲與處理

 

8.1.3位置指針: 定位與讀寫

 

8.1.4綜合案例1: 探究文件各種讀寫模式

 

8.1.5綜合案例2: 文件的創建、讀寫、追加

 

8.2Python的輸入輸出流

 

8.2.1輸入流、輸出流、錯誤流

 

8.2.2輸入輸出流的重定向

 

8.2.3綜合案例: 利用流的重定向制作文檔

 

8.3常見格式文件讀寫

 

8.3.1對象讀寫: Json格式文件

 

8.3.2順序讀寫: pickle格式文件

 

8.3.3(鍵,值)讀寫: shelve格式文件

 

8.3.4壓縮文件讀寫: zip與tar格式文件

 

8.3.5其他格式讀寫

 

8.3.6綜合案例1: 簡易數據庫管理系統

 

8.3.7綜合案例2: 面向對象數據庫管理系統

 

8.4目錄與文件操作

 

8.4.1模塊介紹: pathlib

 

8.4.2目錄與文件路徑的構成

 

8.4.3目錄的創建、遍歷、刪除

 

8.4.4文件的快捷讀寫

 

8.4.5文件與目錄操作 

 

8.4.6壓縮文件的創建

 

8.4.7模塊功能函數對比: pathlib與os

 

8.4.8綜合案例1: 文本文件內容合並

 

8.4.9綜合案例2: 自動配置pip鏡像服務器

 

8.5本章小結

 

8.6習題

 

第9章網絡爬蟲設計

 

9.1網絡爬蟲常識

 

9.1.1網絡爬蟲的概念

 

9.1.2網絡爬蟲的原理

 

9.1.3網絡爬蟲的規範

 

9.1.4常見的網絡爬蟲技術

 

9.1.5常見的反爬技術

 

9.2網絡爬蟲開發基礎

 

9.2.1網頁結構簡介: HTML

 

9.2.2網頁內容定位: CSS與Xpath

 

9.2.3網頁分析工具: Chrome

 

9.2.4爬蟲開發工具: RequestsHTML

 

9.2.5網頁服務請求: get()、post()

 

9.2.6網頁服務的響應: Response

 

9.2.7特殊網頁的渲染: JavaScript頁面

 

9.2.8綜合案例: 剖析爬蟲與服務器的對話

 

9.3網絡爬蟲功能的實現

 

9.3.1網頁鏈接的獲取

 

9.3.2網頁內容的下載

 

9.3.3特定內容的獲取

 

9.3.4網頁內容的存儲

 

9.4綜合案例

 

9.4.1案例: 獲取上海地鐵數據

 

9.4.2案例: 獲取頁面內的圖片

 

9.4.3案例: 獲取JavaScript渲染網頁

 

9.4.4案例: 獲取熱搜、遊戲、電影排行榜

 

9.5本章小結

 

9.6習題

 

第10章文本數據處理與分析

 

10.1文本數據處理和分析

 

10.2文本處理業務邏輯

 

10.2.1字符串模式描述層

 

10.2.2字符串處理實現層

 

10.2.3描述層、實現層層間關系

 

10.3字符串模式描述層: 正則表達式

 

10.3.1正則表達式的構成

 

10.3.2正則表達式的編寫

 

10.4字符串處理實現層: 正則表達式處理

 

10.4.1字符串匹配、查找、分割、替換: Pattern對象

 

10.4.2字符串匹配、查找、分割、替換: re模塊

 

10.5文本處理綜合案例

 

10.5.1案例: 按照規則修改文本中數據

 

10.5.2案例: 從復雜文本中提取特定信息

 

10.5.3案例: 獲取計算機登錄過的WiFi密碼

 

10.6中文數據處理與分析

 

10.6.1中文文本分詞

 

10.6.2關鍵字的提取

 

10.6.3中文文本可視化

 

10.6.4綜合案例: 個性化詞雲圖的制作

 

10.6.5中文情感分析 

 

10.7文本分析綜合案例

 

10.7.1案例: 文本的情感分析

 

10.7.2案例: 中文分析綜合案例

 

10.8本章小結

 

10.9習題

 

第11章NumPy與數學運算

 

11.1NumPy模塊簡介

 

11.2核心內容介紹: ndarray

 

11.2.1核心知識

 

11.2.2數據類型

 

11.2.3對象屬性

 

11.3對象創建

 

11.3.1基本對象創建

 

11.3.2特殊對象創建

 

11.4對象輸入、輸出

 

11.4.1文本格式: *.txt

 

11.4.2二進制格式: *.npy或*.npz

 

11.5形狀重塑

 

11.5.1形狀修改

 

11.5.2升維降維

 

11.5.3廣播機制

 

11.6元素操作

 

11.6.1對象拼接

 

11.6.2元素增加

 

11.6.3元素刪除

 

11.6.4元素切片

 

11.6.5元素遍歷

 

11.7通用函數

 

11.7.1常用的數學函數

 

11.7.2常用的統計函數

 

11.7.3常用的排序、條件篩選函數

 

11.8向量運算

 

11.8.1向量加、減法

 

11.8.2向量數乘、點積

 

11.8.3向量長度、歸一化

 

11.8.4向量間夾角、距離

 

11.8.5向量的相似度計算

 

11.9矩陣運算

 

11.9.1矩陣加、減法

 

11.9.2矩陣乘法

 

11.9.3矩陣的逆矩陣

 

11.9.4矩陣的除法

 

11.9.5矩陣轉置

 

11.9.6矩陣行列式

 

11.9.7特征值和特征向量

 

11.10綜合案例: 趣味圖像處理 

 

11.10.1圖像處理模塊: Pillow 

 

11.10.2圖像與ndarray互轉

 

11.10.3自建ndarray並轉為圖像

 

11.10.4通過數組切片得到局部圖像

 

11.10.5通過數組拼接得到拼接圖像

 

11.11本章小結

 

11.12習題

 

第12章Pandas數據分析

 

12.1Pandas簡介

 

12.1.1合法數據類型

 

12.1.2非法數據標記

 

12.1.3數據類型轉換

 

12.1.4數據輸入與輸出

 

12.1.5綜合案例: 獲取網頁表格數據

 

12.2Series數據結構

 

12.2.1Series對象創建

 

12.2.2Series對象輸入與輸出

 

12.2.3Series對象屬性

 

12.2.4Series數據清洗

 

12.2.5Series數據選取

 

12.2.6Series索引操作

 

12.2.7Series數據處理

 

12.2.8Series數據統計分析

 

12.2.9Series數據可視化

 

12.2.10綜合案例: 自媒體收入數據分析

 

12.3DataFrame數據結構

 

12.3.1DataFrame對象創建

 

12.3.2DataFrame對象輸入輸出

 

12.3.3DataFrame對象的屬性

 

12.3.4DataFrame數據集成

 

12.3.5DataFrame索引操作

 

12.3.6DataFrame數據選取

 

12.3.7DataFrame數據查詢

 

12.3.8DataFrame數據處理

 

12.3.9DataFrame數據統計分析

 

12.3.10DataFrame時間序列分析

 

12.3.11DataFrame數據可視化

 

12.4綜合案例1: 目錄中的文件信息收集

 

12.5綜合案例2: 上海地鐵站點的數據分析

 

12.6本章小結

 

12.7習題

 

第13章數據可視化

 

13.1數據可視化基礎

 

13.1.1數據可視化的分類

 

13.1.2數據分布統計特征

 

13.1.3數據間的關聯特征

 

13.1.4類間特征橫向對比

 

13.1.5數據回歸模型分析

 

13.1.6數據可視化的誤區

 

13.2數據可視化的流程

 

13.2.1數據集的加載

 

13.2.2數據集預處理

 

13.2.3繪圖工具模塊: Seaborn

 

13.2.4繪圖環境配置

 

13.2.5繪圖結果輸出

 

13.3數據分布可視化

 

13.3.1單變量分布圖: displot()

 

13.3.2雙變量分布圖: displot()

 

13.3.3雙變量聯合分布圖: jointplot()

 

13.3.4多變量組合分布圖: pairplot()

 

13.4數據間關聯可視化

 

13.4.1雙變量散點圖: relplot()

 

13.4.2雙變量折線圖: relplot()

 

13.5類間特征對比可視化

 

13.5.1分類散點對比圖: catplot()

 

13.5.2分類分布對比圖: catplot()

 

13.5.3類內觀測對比圖: catplot()

 

13.6數據回歸模型可視化

 

13.6.1回歸模型分析圖: regplot()

 

13.6.2線性模型分析圖: lmplot ()

 

13.6.3回歸函數的區別: regplot()與lmplot()

 

13.6.4回歸模型的參數

 

13.6.5模型質量的評估: residplot()

 

13.7本章小結

 

13.8習題

 

結束語

 

參考文獻