Python 與數據分析及可視化, 2/e (微課視頻版)
李魯群、李曉豐、鄭曉寧、孫璇
- 出版商: 清華大學
- 出版日期: 2026-09-01
- 定價: $419
- 售價: $418
- 語言: 簡體中文
- ISBN: 7302727112
- ISBN-13: 9787302727118
-
相關分類:
Python、Web-crawler 網路爬蟲、Text-mining
下單後立即進貨 (約4週~6週)
相關主題
商品描述
本書由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.1forin循環語句
5.3.2while循環語句
5.4匹配控制語句
5.4.1簡單的matchcase語句
5.4.2復雜的matchcase語句
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爬蟲開發工具: RequestsHTML
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案例: 獲取計算機登錄過的WiFi密碼
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習題
結束語
參考文獻







