Python爬蟲、數據分析與可視化:工具詳解與案例實戰

Python爬蟲、數據分析與可視化:工具詳解與案例實戰

《Python爬蟲、數據分析與可視化:工具詳解與案例實戰》是2020年機械工業出版社出版的圖書,作者是成立明、胡書敏、黃勇。

基本介紹

  • 書名:Python爬蟲、數據分析與可視化:工具詳解與案例實戰
  • 作者:成立明、胡書敏、黃勇
  • 出版時間:2020年11月1日
  • ISBN:9787111667759
內容簡介,圖書目錄,

內容簡介

全書共13章。第1~4章為基礎篇,主要講述Python基礎知識、Python數據結構、面向對象程式設計思想,Python異常處理和讀寫檔案的技巧;第5~7章為數據分析的工具篇備海騙,主要講述Numpy庫、Pandas庫和Matplotlib庫的基本功能和套用;第8章和第9章為“數據分析高級技能篇”,主要講述通過犁朽企爬取技術部落格案例、基於Scrapy爬蟲框架的實用技巧、數據分析的常用方法,如Python連線運算元據庫的相關技能,基於時間序列、機率分析、推斷統計和回歸分析方法的數學分析方法;第10~13章為“綜合案例篇”,主要講述二手房數據分析案例、股票數據分析案例以及基於Sklearn庫的機器學習相關實踐。

圖書目錄

前言
第1章 Python編程基礎1
1.1 搭建Python開發環境1
1.1.1 安裝Python解釋器1
1.1.2 安裝Python第三方開發包2
1.1.3 在PyCharm里新建項目和檔案3
1.1.4 在PyCharm里更換Python解釋器5
1.2 實踐Python基本語法5
1.2.1 針對基本數據類型的操作6
1.2.2 針對字元串的操作7
1.2.3 多行注釋與引入中文8
1.2.4 條件分支語句9
1.2.5 循環操作語句9
1.2.6 break和continue的用法10
1.2.7 格式化輸出語句11
1.3 定義和調用函式11
1.4 return的重要性——函式的遞歸調用12
1.5 熟悉函式的特殊寫法13
1.5.1 函式作為參數14
1.5.2 函式作為返回結果14
1.5.3 匿名函式15
1.6 本章小結15
第2章 Python的數據結構16
2.1 列表16
2.1.1 定義列表16
2.1.2 在列表中增、刪、改元素17
2.1.3 列表的切片操作18
2.1.4 遍歷列表19
2.1.5 列表的常見用法19
2.2 元組20
2.2.1 創建和使用元組20
2.2.2 元組的常見用法21
2.3 集合22
2.3.1 創建和使用集合22
2.3.2 針對集合的常用數據操作23
2.4 字典23
2.4.1 創建和使用字典24
2.4.2 增加、刪除和修改字典中的元素24
2.4.3 遍歷字典25
2.5 針對數據結構的通用性操作25
2.5.1 通過map方法實現序列的映射25
2.5.2 filter方法與數據篩照翻選26
2.5.3 通過reduce方法實現累計效果27
2.5.4 通過sorted方法排序對象27
2.6 本章小結28
第3章 Python面向對象編程29
3.1 什麼是面向對象思想29
3.2 封裝特性30
3.2.1 創建類並在類里封裝屬詢嬸道漿性和方法30
3.2.2 類方法的第一個參數必須指向實例31
3.2.3 私有屬性的典型錯誤用法31
3.2.4 了解其他常用魔術方法33
3.2.5 從私有屬性和私有方法體會封裝特性34
3.3 繼承特性35
3.3.1 繼承的語法和使用場景35
3.3.2 子類無法使用父類的私有屬性和方法36
3.3.3 受保護的屬性和方法37
3.3.4 多重繼承與組合模乘榆估式38
3.4 多態特性40
3.4.1 以疊代器為例來理解多態40
3.4.2 可變參數與方法重載41
3.4.3 整合使用多態和繼承42
3.5 模組、包以及第三方庫43
3.5.1 通過import重用現有模組中的功能43
3.5.2 自定義包和使用包43
3.5.3 引入並使用第三方庫44
3.6 本章小結45
第4章 異常處理機制與多和迎乘檔案讀寫46
4.1 通過tryexceptfinally處理異常46
4.1.1 處理異常的tryexcept從句46
4.1.2 使詢榆背用異常處理類47
4.1.3 同時處理多個異常48
4.1.4 在處理異常時引入else代碼塊49
4.1.5 引入finally從句50
4.2 raise與except的整合使用51
4.2.1 通過raise拋出異常51
4.2.2 自定義異常且與except整合使用51
4.3 異常處理的實踐經驗52
4.3.1 儘可能縮小try的代碼塊53
4.3.2 用專業的異常處理類針對性地處理異常53
4.3.3 拿到異常別忽視54
4.3.4 合理確定異常的影響範圍54
4.4 在讀寫檔案案例中使用異常機制55
4.4.1 通過os.path獲取目錄和檔案屬性55
4.4.2 以唯讀模式打開檔案56
4.4.3 逐行讀取檔案58
4.4.4 通過write寫檔案59
4.4.5 以添加的方式寫檔案59
4.4.6 讀寫csv檔案60
4.5 本章小結61
第5章 NumPy數組處理62
5.1 NumPy庫的基礎數據結構:ndarray對象62
5.1.1 通過array方法創建ndarray62
5.1.2 ndarray的dtype屬性63
5.1.3 創建全0或全1的ndarray64
5.2 NumPy庫的常用操作65
5.2.1 通過arange方法創建序列數組65
5.2.2 針對ndarray的數學運算66
5.2.3 常用的科學計算函式67
5.2.4 常用的聚合統計函式68
5.2.5 遍歷ndarray數組69
5.3 針對ndarray的索引和切片操作69
5.3.1 索引操作69
5.3.2 布爾索引與條件過濾70
5.3.3 切片操作與共享記憶體70
5.3.4 通過copy函式創建副本72
5.4 本章小結72
第6章 Pandas數據清洗73
6.1 以一維方式存儲數據的Series對象73
6.1.1 Series的常規操作74
6.1.2 創建並使用Series索引75
6.1.3 獲取Series里的切片數據76
6.1.4 通過布爾Series獲取滿足條件的元素78
6.1.5 遍歷Series數據78
6.2 以表格格式存儲數據的DataFrame對象79
6.2.1 DataFrame對象的常規用法79
6.2.2 通過loc、iloc和ix提取數據81
6.2.3 遍歷DataFrame里的數據82
6.3 面向DataFrame的常用數據分析方法82
6.3.1 對DataFrame數據進行排序83
6.3.2 以列為單位進行運算83
6.3.3 增加和刪除列84
6.3.4 過濾和重設數據85
6.3.5 在DataFrame中進行數據統計分析85
6.3.6 衡量變數間關聯程度的corr方法86
6.4 Pandas與各類檔案的互動87
6.4.1 DataFrame數據與csv檔案的相互轉換87
6.4.2 NaN與缺失值處理89
6.4.3 DataFrame數據與Excel檔案的相互轉換90
6.4.4 DataFrame數據與json檔案的相互轉換91
6.5 本章小結92
第7章 Matplotlib數據可視化93
7.1 通過Matplotlib繪製各類圖形93
7.1.1 繪製折線圖93
7.1.2 繪圖時的通用屬性參數94
7.1.3 繪製柱狀圖95
7.1.4 繪製餅圖97
7.1.5 繪製直方圖98
7.2 設定坐標的技巧99
7.2.1 設定x和y坐標標籤文字並展示中文99
7.2.2 設定坐標的範圍100
7.2.3 設定坐標的主刻度和次刻度101
7.2.4 設定並旋轉坐標刻度文字102
7.3 增加可視化美觀效果103
7.3.1 設定圖例104
7.3.2 設定中文標題105
7.3.3 設定格線效果106
7.4 設定多圖和子圖效果107
7.4.1 通過figure對象同時繪製多張圖107
7.4.2 通過add_subplot方法繪製子圖108
7.4.3 通過subplot方法繪製子圖109
7.4.4 子圖共享x坐標軸110
7.4.5 在大圖里繪製子圖112
7.5 繪製高級圖表113
7.5.1 繪製散點圖113
7.5.2 繪製熱圖114
7.5.3 繪製等值線圖115
7.6 通過mplot3d繪製三維圖形116
7.6.1 繪製三維曲線圖116
7.6.2 繪製三維散點圖117
7.6.3 繪製三維柱狀圖118
7.7 本章小結119
第8章 通過網路爬蟲獲取數據120
8.1 和爬蟲有關的HTTP120
8.1.1 基於HTTP的請求處理流程120
8.1.2 HTTP請求頭包含作業系統和瀏覽器信息122
8.1.3 Post和Get請求方法122
8.1.4 HTTP常見的狀態碼122
8.2 通過Urllib庫獲取網頁信息123
8.2.1 通過request爬取網頁123
8.2.2 設定逾時時間124
8.2.3 用URLError處理網路異常124
8.2.4 設定header屬性來模擬瀏覽器傳送請求125
8.3 通過BeautifulSoup提取頁面信息125
8.3.1 安裝BeautifulSoup庫125
8.3.2 用Tag提取HTML元素和屬性126
8.3.3 用NavigableString提取元素值127
8.3.4 用Comment提取注釋127
8.3.5 制定規則搜尋指定的內容128
8.4 通過正則表達式截取信息130
8.4.1 查找指定字元串130
8.4.2 用通用字元來模糊匹配130
8.4.3 通過原子表來定義匹配規則131
8.4.4 用findall按匹配規則截取內容132
8.5 用Scrapy爬取部落格園文章信息134
8.5.1 通過Scrapy命令創建爬蟲項目134
8.5.2 明確爬取目標,制定爬取規則134
8.5.3 在Item模組里定義數據模型136
8.5.4 生成爬蟲檔案,定義爬取動作136
8.5.5 在pipelines檔案里定義數據存儲方式137
8.5.6 啟動爬蟲程式,觀察運行效果138
8.6 本章小結139
第9章 數據分析的常用方法140
9.1 準備並存儲數據140
9.1.1 用Pandas_datareader庫獲取數據140
9.1.2 以csv和Excel格式存儲數據141
9.1.3 準備MySQL環境142
9.1.4 在MySQL里存儲數據142
9.1.5 從數據表里讀取數據145
9.2 描述性統計146
9.2.1 平均數、中位數和百分位數146
9.2.2 用箱狀圖展示分位數147
9.2.3 統計極差、方差和標準差148
9.3 基於時間序列的統計方法148
9.3.1 用rolling方法計算移動平均值148
9.3.2 基於時間序列的自相關性分析149
9.3.3 基於時間序列的偏自相關性分析151
9.3.4 用熱力圖分析不同時間序列的相關性152
9.4 機率分析方法與推斷統計154
9.4.1 分析收盤價,繪製小提琴圖154
9.4.2 用直方圖來擬合常態分配效果155
9.4.3 驗證序列是否滿足常態分配156
9.4.4 參數估計方法157
9.4.5 顯著性驗證158
9.5 回歸分析方法159
9.5.1 構建一元線性回歸模型159
9.5.2 以多元線性回歸模型預測股價162
9.6 本章小結1
第3章 Python面向對象編程29
3.1 什麼是面向對象思想29
3.2 封裝特性30
3.2.1 創建類並在類里封裝屬性和方法30
3.2.2 類方法的第一個參數必須指向實例31
3.2.3 私有屬性的典型錯誤用法31
3.2.4 了解其他常用魔術方法33
3.2.5 從私有屬性和私有方法體會封裝特性34
3.3 繼承特性35
3.3.1 繼承的語法和使用場景35
3.3.2 子類無法使用父類的私有屬性和方法36
3.3.3 受保護的屬性和方法37
3.3.4 多重繼承與組合模式38
3.4 多態特性40
3.4.1 以疊代器為例來理解多態40
3.4.2 可變參數與方法重載41
3.4.3 整合使用多態和繼承42
3.5 模組、包以及第三方庫43
3.5.1 通過import重用現有模組中的功能43
3.5.2 自定義包和使用包43
3.5.3 引入並使用第三方庫44
3.6 本章小結45
第4章 異常處理機制與檔案讀寫46
4.1 通過tryexceptfinally處理異常46
4.1.1 處理異常的tryexcept從句46
4.1.2 使用異常處理類47
4.1.3 同時處理多個異常48
4.1.4 在處理異常時引入else代碼塊49
4.1.5 引入finally從句50
4.2 raise與except的整合使用51
4.2.1 通過raise拋出異常51
4.2.2 自定義異常且與except整合使用51
4.3 異常處理的實踐經驗52
4.3.1 儘可能縮小try的代碼塊53
4.3.2 用專業的異常處理類針對性地處理異常53
4.3.3 拿到異常別忽視54
4.3.4 合理確定異常的影響範圍54
4.4 在讀寫檔案案例中使用異常機制55
4.4.1 通過os.path獲取目錄和檔案屬性55
4.4.2 以唯讀模式打開檔案56
4.4.3 逐行讀取檔案58
4.4.4 通過write寫檔案59
4.4.5 以添加的方式寫檔案59
4.4.6 讀寫csv檔案60
4.5 本章小結61
第5章 NumPy數組處理62
5.1 NumPy庫的基礎數據結構:ndarray對象62
5.1.1 通過array方法創建ndarray62
5.1.2 ndarray的dtype屬性63
5.1.3 創建全0或全1的ndarray64
5.2 NumPy庫的常用操作65
5.2.1 通過arange方法創建序列數組65
5.2.2 針對ndarray的數學運算66
5.2.3 常用的科學計算函式67
5.2.4 常用的聚合統計函式68
5.2.5 遍歷ndarray數組69
5.3 針對ndarray的索引和切片操作69
5.3.1 索引操作69
5.3.2 布爾索引與條件過濾70
5.3.3 切片操作與共享記憶體70
5.3.4 通過copy函式創建副本72
5.4 本章小結72
第6章 Pandas數據清洗73
6.1 以一維方式存儲數據的Series對象73
6.1.1 Series的常規操作74
6.1.2 創建並使用Series索引75
6.1.3 獲取Series里的切片數據76
6.1.4 通過布爾Series獲取滿足條件的元素78
6.1.5 遍歷Series數據78
6.2 以表格格式存儲數據的DataFrame對象79
6.2.1 DataFrame對象的常規用法79
6.2.2 通過loc、iloc和ix提取數據81
6.2.3 遍歷DataFrame里的數據82
6.3 面向DataFrame的常用數據分析方法82
6.3.1 對DataFrame數據進行排序83
6.3.2 以列為單位進行運算83
6.3.3 增加和刪除列84
6.3.4 過濾和重設數據85
6.3.5 在DataFrame中進行數據統計分析85
6.3.6 衡量變數間關聯程度的corr方法86
6.4 Pandas與各類檔案的互動87
6.4.1 DataFrame數據與csv檔案的相互轉換87
6.4.2 NaN與缺失值處理89
6.4.3 DataFrame數據與Excel檔案的相互轉換90
6.4.4 DataFrame數據與json檔案的相互轉換91
6.5 本章小結92
第7章 Matplotlib數據可視化93
7.1 通過Matplotlib繪製各類圖形93
7.1.1 繪製折線圖93
7.1.2 繪圖時的通用屬性參數94
7.1.3 繪製柱狀圖95
7.1.4 繪製餅圖97
7.1.5 繪製直方圖98
7.2 設定坐標的技巧99
7.2.1 設定x和y坐標標籤文字並展示中文99
7.2.2 設定坐標的範圍100
7.2.3 設定坐標的主刻度和次刻度101
7.2.4 設定並旋轉坐標刻度文字102
7.3 增加可視化美觀效果103
7.3.1 設定圖例104
7.3.2 設定中文標題105
7.3.3 設定格線效果106
7.4 設定多圖和子圖效果107
7.4.1 通過figure對象同時繪製多張圖107
7.4.2 通過add_subplot方法繪製子圖108
7.4.3 通過subplot方法繪製子圖109
7.4.4 子圖共享x坐標軸110
7.4.5 在大圖里繪製子圖112
7.5 繪製高級圖表113
7.5.1 繪製散點圖113
7.5.2 繪製熱圖114
7.5.3 繪製等值線圖115
7.6 通過mplot3d繪製三維圖形116
7.6.1 繪製三維曲線圖116
7.6.2 繪製三維散點圖117
7.6.3 繪製三維柱狀圖118
7.7 本章小結119
第8章 通過網路爬蟲獲取數據120
8.1 和爬蟲有關的HTTP120
8.1.1 基於HTTP的請求處理流程120
8.1.2 HTTP請求頭包含作業系統和瀏覽器信息122
8.1.3 Post和Get請求方法122
8.1.4 HTTP常見的狀態碼122
8.2 通過Urllib庫獲取網頁信息123
8.2.1 通過request爬取網頁123
8.2.2 設定逾時時間124
8.2.3 用URLError處理網路異常124
8.2.4 設定header屬性來模擬瀏覽器傳送請求125
8.3 通過BeautifulSoup提取頁面信息125
8.3.1 安裝BeautifulSoup庫125
8.3.2 用Tag提取HTML元素和屬性126
8.3.3 用NavigableString提取元素值127
8.3.4 用Comment提取注釋127
8.3.5 制定規則搜尋指定的內容128
8.4 通過正則表達式截取信息130
8.4.1 查找指定字元串130
8.4.2 用通用字元來模糊匹配130
8.4.3 通過原子表來定義匹配規則131
8.4.4 用findall按匹配規則截取內容132
8.5 用Scrapy爬取部落格園文章信息134
8.5.1 通過Scrapy命令創建爬蟲項目134
8.5.2 明確爬取目標,制定爬取規則134
8.5.3 在Item模組里定義數據模型136
8.5.4 生成爬蟲檔案,定義爬取動作136
8.5.5 在pipelines檔案里定義數據存儲方式137
8.5.6 啟動爬蟲程式,觀察運行效果138
8.6 本章小結139
第9章 數據分析的常用方法140
9.1 準備並存儲數據140
9.1.1 用Pandas_datareader庫獲取數據140
9.1.2 以csv和Excel格式存儲數據141
9.1.3 準備MySQL環境142
9.1.4 在MySQL里存儲數據142
9.1.5 從數據表里讀取數據145
9.2 描述性統計146
9.2.1 平均數、中位數和百分位數146
9.2.2 用箱狀圖展示分位數147
9.2.3 統計極差、方差和標準差148
9.3 基於時間序列的統計方法148
9.3.1 用rolling方法計算移動平均值148
9.3.2 基於時間序列的自相關性分析149
9.3.3 基於時間序列的偏自相關性分析151
9.3.4 用熱力圖分析不同時間序列的相關性152
9.4 機率分析方法與推斷統計154
9.4.1 分析收盤價,繪製小提琴圖154
9.4.2 用直方圖來擬合常態分配效果155
9.4.3 驗證序列是否滿足常態分配156
9.4.4 參數估計方法157
9.4.5 顯著性驗證158
9.5 回歸分析方法159
9.5.1 構建一元線性回歸模型159
9.5.2 以多元線性回歸模型預測股價162
9.6 本章小結1

相關詞條

熱門詞條

聯絡我們