python書籍推薦:Python數據科學手冊

来源:https://www.cnblogs.com/fuchen9527/archive/2019/05/08/10829314.html
-Advertisement-
Play Games

所屬網站分類: 資源下載 > python電子書 作者:today 鏈接:http://www.pythonheidong.com/blog/article/448/ 來源:python黑洞網 內容簡介 本書是對以數據深度需求為中心的科學、研究以及針對計算和統計方法的參考書。本書共五章,每章介紹一到 ...


所屬網站分類: 資源下載 > python電子書


作者:today

鏈接:http://www.pythonheidong.com/blog/article/448/

來源:python黑洞網

 

內容簡介  

本書是對以數據深度需求為中心的科學、研究以及針對計算和統計方法的參考書。本書共五章,每章介紹一到兩個Python數據科學中的重點工具包。首先從IPython和Jupyter開始,它們提供了數據科學家需要的計算環境;第2章講解能提供ndarray對象的NumPy,它可以用Python高效地存儲和操作大型數組;第3章主要涉及提供DataFrame對象的Pandas,它可以用Python高效地存儲和操作帶標簽的/列式數據;第4章的主角是Matplotlib,它為Python提供了許多數據可視化功能;第5章以Scikit-Learn為主,這個程式庫為最重要的機器學習演算法提供了高效整潔的Python版實現。

本書適合有編程背景,並打算將開源Python工具用作分析、操作、可視化以及學習數據的數據科學研究人員

 

目錄  

譯者序 xiii
前言 xv
第1 章 IPython:超越Python 1
1.1 shell還是Notebook 1
1.1.1 啟動IPython shell 2
1.1.2 啟動Jupyter Notebook 2
1.2 IPython的幫助和文檔 3
1.2.1 用符號? 獲取文檔 3
1.2.2 通過符號?? 獲取源代碼 4
1.2.3 用Tab補全的方式探索模塊 5
1.3 IPython shell中的快捷鍵 7
1.3.1 導航快捷鍵 7
1.3.2 文本輸入快捷鍵 7
1.3.3 命令歷史快捷鍵 8
1.3.4 其他快捷鍵 9
1.4 IPython魔法命令 9
1.4.1 粘貼代碼塊:%paste和%cpaste 9
1.4.2 執行外部代碼:%run 10
1.4.3 計算代碼運行時間:%timeit 11
1.4.4 魔法函數的幫助:?、%magic 和%lsmagic 11
1.5 輸入和輸出歷史 12
1.5.1 IPython的輸入和輸出對象 12
1.5.2 下劃線快捷鍵和以前的輸出 13
1.5.3 禁止輸出 13
1.5.4 相關的魔法命令 13
1.6 IPython和shell命令 14
1.6.1 shell快速入門 14
1.6.2 IPython中的shell命令 15
1.6.3 在shell中傳入或傳出值 15
1.7 與shell相關的魔法命令 16
1.8 錯誤和調試 17
1.8.1 控制異常:%xmode 17
1.8.2 調試:當閱讀軌跡追溯不足以解決問題時 19
1.9 代碼的分析和計時 21
1.9.1 代碼段計時:%timeit和%time 22
1.9.2 分析整個腳本:%prun 23
1.9.3 用%lprun進行逐行分析 24
1.9.4 用%memit和%mprun進行記憶體分析 25
1.10 IPython參考資料 26
1.10.1 網路資源 26
1.10.2 相關圖書 27
第2 章 NumPy入門 28
2.1 理解Python中的數據類型 29
2.1.1 Python整型不僅僅是一個整型 30
2.1.2 Python列表不僅僅是一個列表 31
2.1.3 Python中的固定類型數組 32
2.1.4 從Python列表創建數組 32
2.1.5 從頭創建數組 33
2.1.6 NumPy標準數據類型 34
2.2 NumPy數組基礎 35
2.2.1 NumPy數組的屬性 36
2.2.2 數組索引:獲取單個元素 37
2.2.3 數組切片:獲取子數組 38
2.2.4 數組的變形 41
2.2.5 數組拼接和分裂 42
2.3 NumPy數組的計算:通用函數 44
2.3.1 緩慢的迴圈 44
2.3.2 通用函數介紹 45
2.3.3 探索NumPy的通用函數 46
2.3.4 高級的通用函數特性 49
2.3.5 通用函數:更多的信息 51
2.4 聚合:最小值、最大值和其他值 51
2.4.1 數組值求和 51
2.4.2 最小值和最大值 52
2.4.3 示例:美國總統的身高是多少 54
2.5 數組的計算:廣播 55
2.5.1 廣播的介紹 55
2.5.2 廣播的規則 57
2.5.3 廣播的實際應用 60
2.6 比較、掩碼和布爾邏輯 61
2.6.1 示例:統計下雨天數 61
2.6.2 和通用函數類似的比較操作 62
2.6.3 操作布爾數組 64
2.6.4 將布爾數組作為掩碼 66
2.7 花哨的索引 69
2.7.1 探索花哨的索引 69
2.7.2 組合索引 70
2.7.3 示例:選擇隨機點 71
2.7.4 用花哨的索引修改值 72
2.7.5 示例:數據區間劃分 73
2.8 數組的排序 75
2.8.1 NumPy中的快速排序:np.sort和np.argsort 76
2.8.2 部分排序:分隔 77
2.8.3 示例:K個最近鄰 78
2.9 結構化數據:NumPy的結構化數組 81
2.9.1 生成結構化數組 83
2.9.2 更高級的複合類型 84
2.9.3 記錄數組:結構化數組的扭轉 84
2.9.4 關於Pandas 85
第3 章 Pandas數據處理 86
3.1 安裝並使用Pandas 86
3.2 Pandas對象簡介 87
3.2.1 Pandas的Series對象 87
3.2.2 Pandas的DataFrame對象 90
3.2.3 Pandas的Index對象 93
3.3 數據取值與選擇 95
3.3.1 Series數據選擇方法 95
3.3.2 DataFrame數據選擇方法 98
3.4 Pandas數值運算方法 102
3.4.1 通用函數:保留索引 102
3.4.2 通用函數:索引對齊 103
3.4.3 通用函數:DataFrame與Series的運算 105
3.5 處理缺失值 106
3.5.1 選擇處理缺失值的方法 106
3.5.2 Pandas的缺失值 107
3.5.3 處理缺失值 110
3.6 層級索引 113
3.6.1 多級索引Series 113
3.6.2 多級索引的創建方法 116
3.6.3 多級索引的取值與切片 119
3.6.4 多級索引行列轉換 121
3.6.5 多級索引的數據累計方法 124
3.7 合併數據集:Concat與Append操作 125
3.7.1 知識回顧:NumPy數組的合併 126
3.7.2 通過pd.concat實現簡易合併 126
3.8 合併數據集:合併與連接 129
3.8.1 關係代數 129
3.8.2 數據連接的類型 130
3.8.3 設置數據合併的鍵 132
3.8.4 設置數據連接的集合操作規則 134
3.8.5 重覆列名:suffixes參數 135
3.8.6 案例:美國各州的統計數據 136
3.9 累計與分組 140
3.9.1 行星數據 140
3.9.2 Pandas的簡單累計功能 141
3.9.3 GroupBy:分割、應用和組合 142
3.10 數據透視表 150
3.10.1 演示數據透視表 150
3.10.2 手工製作數據透視表 151
3.10.3 數據透視表語法 151
3.10.4 案例:美國人的生日 153
3.11 向量化字元串操作 157
3.11.1 Pandas字元串操作簡介 157
3.11.2 Pandas字元串方法列表 159
3.11.3 案例:食譜資料庫 163
3.12 處理時間序列 166
3.12.1 Python的日期與時間工具 166
3.12.2 Pandas時間序列:用時間作索引 169
3.12.3 Pandas時間序列數據結構 170
3.12.4 時間頻率與偏移量 172
3.12.5 重新取樣、遷移和視窗 173
3.12.6 更多學習資料 178
3.12.7 案例:美國西雅圖自行車統計數據的可視化 179
3.13 高性能Pandas:eval()與query() 184
3.13.1 query()與eval()的設計動機:複合代數式 184
3.13.2 用pandas.eval()實現高性能運算 185
3.13.3 用DataFrame.eval()實現列間運算 187
3.13.4 DataFrame.query()方法 188
3.13.5 性能決定使用時機 189
3.14 參考資料 189
第4 章 Matplotlib數據可視化 191
4.1 Matplotlib常用技巧 192
4.1.1 導入Matplotlib 192
4.1.2 設置繪圖樣式 192
4.1.3 用不用show()?如何顯示圖形 192
4.1.4 將圖形保存為文件 194
4.2 兩種畫圖介面 195
4.2.1 MATLAB風格介面 195
4.2.2 面向對象介面 196
4.3 簡易線形圖 197
4.3.1 調整圖形:線條的顏色與風格 199
4.3.2 調整圖形:坐標軸上下限 200
4.3.3 設置圖形標簽 203
4.4 簡易散點圖 204
4.4.1 用plt.plot畫散點圖 205
4.4.2 用plt.scatter畫散點圖 206
4.4.3 plot與scatter:效率對比 208
4.5 可視化異常處理 208
4.5.1 基本誤差線 209
4.5.2 連續誤差 210
4.6 密度圖與等高線圖 211
4.7 頻次直方圖、數據區間劃分和分佈密度 215
4.8 配置圖例 219
4.8.1 選擇圖例顯示的元素 221
4.8.2 在圖例中顯示不同尺寸的點 222
4.8.3 同時顯示多個圖例 223
4.9 配置顏色條 224
4.9.1 配置顏色條 224
4.9.2 案例:手寫數字 228
4.10 多子圖 230
4.10.1 plt.axes:手動創建子圖 230
4.10.2 plt.subplot:簡易網格子圖 231
4.10.3 plt.subplots:用一行代碼創建網格 233
4.10.4 plt.GridSpec:實現更複雜的排列方式 234
4.11 文字與註釋 235
4.11.1 案例:節假日對美國出生率的影響 236
4.11.2 坐標變換與文字位置 237
4.11.3 箭頭與註釋 239
4.12 自定義坐標軸刻度 241
4.12.1 主要刻度與次要刻度 242
4.12.2 隱藏刻度與標簽 243
4.12.3 增減刻度數量 244
4.12.4 花哨的刻度格式 245
4.12.5 格式生成器與定位器小結 247
4.13 Matplotlib自定義:配置文件與樣式表 248
4.13.1 手動配置圖形 248
4.13.2 修改預設配置:rcParams 249
4.13.3 樣式表 251
4.14 用Matplotlib畫三維圖 255
4.14.1 三維數據點與線 256
4.14.2 三維等高線圖 256
4.14.3 線框圖和曲面圖 258
4.14.4 曲面三角剖分 259
4.15 用Basemap可視化地理數據 261
4.15.1 地圖投影 263
4.15.2 畫一個地圖背景 267
4.15.3 在地圖上畫數據 269
4.15.4 案例:美國加州城市數據 270
4.15.5 案例:地表溫度數據 271
4.16 用Seaborn做數據可視化 273
4.16.1 Seaborn與Matplotlib 274
4.16.2 Seaborn圖形介紹 275
4.16.3 案例:探索馬拉松比賽成績數據 283
4.17 參考資料 290
4.17.1 Matplotlib資源 290
4.17.2 其他Python畫圖程式庫 290
第5 章 機器學習 291
5.1 什麼是機器學習 291
5.1.1 機器學習的分類 292
5.1.2 機器學習應用的定性示例 292
5.1.3 小結 299
5.2 Scikit-Learn簡介 300
5.2.1 Scikit-Learn的數據表示 300
5.2.2 Scikit-Learn的評估器API 302
5.2.3 應用:手寫數字探索 309
5.2.4 小結 313
5.3 超參數與模型驗證 313
5.3.1 什麼是模型驗證 314
5.3.2 選擇最優模型 317
5.3.3 學習曲線 322
5.3.4 驗證實踐:網格搜索 326
5.3.5 小結 327
5.4 特征工程 327
5.4.1 分類特征 327
5.4.2 文本特征 329
5.4.3 圖像特征 330
5.4.4 衍生特征 330
5.4.5 缺失值填充 332
5.4.6 特征管道 332
5.5 專題:朴素貝葉斯分類 333
5.5.1 貝葉斯分類 333
5.5.2 高斯朴素貝葉斯 334
5.5.3 多項式朴素貝葉斯 336
5.5.4 朴素貝葉斯的應用場景 339
5.6 專題:線性回歸 340
5.6.1 簡單線性回歸 340
5.6.2 基函數回歸 342
5.6.3 正則化 346
5.6.4 案例:預測自行車流量 349
5.7 專題:支持向量機 353
5.7.1 支持向量機的由來 354
5.7.2 支持向量機:邊界最大化 355
5.7.3 案例:人臉識別 363
5.7.4 支持向量機總結 366
5.8 專題:決策樹與隨機森林 367
5.8.1 隨機森林的誘因:決策樹 367
5.8.2 評估器集成演算法:隨機森林 371
5.8.3 隨機森林回歸 373
5.8.4 案例:用隨機森林識別手寫數字 374
5.8.5 隨機森林總結 376
5.9 專題:主成分分析 376
5.9.1 主成分分析簡介 377
5.9.2 用PCA作噪音過濾 383
5.9.3 案例:特征臉 385
5.9.4 主成分分析總結 387
5.10 專題:流形學習 388
5.10.1 流形學習:“HELLO” 388
5.10.2 多維標度法(MDS) 389
5.10.3 將MDS用於流形學習 391
5.10.4 非線性嵌入:當MDS失敗時 393
5.10.5 非線性流形:局部線性嵌入 395
5.10.6 關於流形方法的一些思考 396
5.10.7 示例:用Isomap 處理人臉數據 397
5.10.8 示例:手寫數字的可視化結構 400
5.11 專題:k-means聚類 402
5.11.1 k-means簡介 403
5.11.2 k-means演算法:期望最大化 404
5.11.3 案例 409
5.12 專題:高斯混合模型 415
5.12.1 高斯混合模型(GMM)為什麼會出現:k-means演算法
的缺陷 415
5.12.2 一般化E-M:高斯混合模型 417
5.12.3 將GMM用作密度估計 421
5.12.4 示例:用GMM生成新的數據 425
5.13 專題:核密度估計 427
5.13.1 KDE的由來:直方圖 428
5.13.2 核密度估計的實際應用 431
5.13.3 示例:球形空間的KDE 433
5.13.4 示例:不是很朴素的貝葉斯 436
5.14 應用:人臉識別管道 439
5.14.1 HOG特征 440
5.14.2 HOG實戰:簡單人臉識別器 441
5.14.3 註意事項與改進方案 445
5.15 機器學習參考資料 446
5.15.1 Python中的機器學習 446
5.15.2 通用機器學習資源 447
關於作者 448
關於封面 448

 

 
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 可以使用js自帶的for in、也可以使用Ext JS中的方法來遍歷js對象中的屬性 代碼如下: ...
  • 最近在做小程式的登錄,需要同時獲取用戶手機號和頭像昵稱等信息,但是小程式又不支持單個介面同時獲取兩種數據,因此想到自定義一個彈窗,通過彈窗按鈕觸發獲取手機號事件。記錄一下。 具體代碼如下: 業務代碼中: 在業務代碼中引入dialog組件即可 <dialog visible="{{dialogVisi ...
  • 服務引入 服務引入使用reference標簽來對要引入的服務進行配置,包括服務的介面 ,名稱,init,check等等配置屬性。 在DubboNamespaceHandler中,我們可以看到reference標簽是通過引入一個ReferenceBean類型的bean實現的,那麼我們就以這個bean為 ...
  • 官網:www.fhadmin.org 工作流模塊 1.模型管理 :web線上流程設計器、預覽流程xml、導出xml、部署流程 2.流程管理 :導入導出流程資源文件、查看流程圖、根據流程實例反射出流程模型、激活掛起 3.運行中流程:查看流程信息、當前任務節點、當前流程圖、作廢暫停流程、指派待辦人 4. ...
  • 單例模式是一種設計模式,這一種設計模式的目的是使得該類在整個JVM系統中只有唯一的一個實例對象,在就java開發過程中,很多場景下會碰到這種需求,所以單例模式也是最常用的設計模式之一,下麵從以下幾個方面對單例模式進行解說。 一、單例模式的概念: 需要設計一個類,達到的效果:在類的整個應用中指存在一個 ...
  • 編程語言集成了發佈訂閱 很多編程語言框架里都提供了發佈訂閱的組件,或者叫事件處理機制,而spring框架對這個功能也有支持,主要使用 實現訂閱,使用 使用發佈。這種系統集成的我們先叫它“集成組件” 與語言無關的消息隊列 事實上,發佈訂閱真的與開發語言沒有什麼關係,所以出現了另一種產品,消息中間件,或 ...
  • 首先會看懂UML UML類圖與類的關係詳解 虛線箭頭指向依賴;實線箭頭指向關聯;虛線三角指向介面;實線三角指向父類;空心菱形能分離而獨立存在,是聚合;實心菱形精密關聯不可分,是組合; 上面是UML的語法。在畫類圖的時候,理清類和類之間的關係是重點。類的關係有泛化(Generalization)、實現 ...
  • 前言 前幾天,在食堂吃飯,本來每天中午的新聞三十分換成了視頻監控。我們已經習慣了,前十分鐘看著領導都很忙,中間十分鐘中國人民都很幸福,後十分鐘別的國家都生活在水深火熱里,順便跟同事談談國家大事。突然主角換成了我們自己,便毫無抬頭的欲望。 恰巧最近也有在接觸大屏監控的解決方案,於是乎,就索性拿樹莓派實 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...