Python 編程:從數據分析到數據科學, 2/e

朝樂門

  • 出版商: 電子工業
  • 出版日期: 2021-06-01
  • 定價: $588
  • 售價: 7.9$465
  • 貴賓價: 7.5$441
  • 語言: 簡體中文
  • 頁數: 518
  • 裝訂: 平裝
  • ISBN: 7121412004
  • ISBN-13: 9787121412004
  • 相關分類: Data Science
  • 立即出貨(限量) (庫存=2)

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

商品描述

本書是為具有數據思維的數據科學、數據分析和大數據應用人群編寫的Python 學習圖書。本書改變了同類圖書中普遍存在的“將Python 當作C/Java 來教(或學)”的現狀,強調了Python 在數據分析和數據科學中的特殊語法和數據思維;同時,改變了傳統圖書中“先將知識點、後擺代碼”的編寫風格,首次將代碼放在中心位置,配合最必要的文字介紹,做到主次分明、一目瞭然,便於學習。本書主要介紹大數據人才常用的Python 語言及第三方擴展庫的基礎知識、思路、方法、經驗和技巧,建立了從Python 到數據分析再到數據科學的通道,形成了Python 知識、數據分析和數據科學三個知識領域融為一體的知識模式。本書既可以作為從事數據科學、數據分析和大數據應用人群的入門級系統學習圖書,又可以作為相關高校數據科學與大數據技術、大數據應用與管理、信息管理和大數據應用、數據分析、信息分析等專業方向的教材。

作者簡介

朝樂門,男,1979年生,中國人民大學信息資源管理學院、數據工程與知識工程教育部重點實驗室副教授,博士生導師。
中國計算機學會信息系統專委員會委員、ACM高級會員、國際知識管理協會正式委員、全國高校大數據教育聯盟大數據教材專家指導委員會委員、清華大學博士後校友會IT分會副秘書長;主持完成國家自然科學基金、國家社會科學基金等重要科學研究項目10餘項;參與完成核高基、973、863、國家自然科學基金重點項目、國家社會科學基金重大項目等國家重大科研項目10餘項;發表SCI/ SSCI/EI/CSCI論文30餘篇,軟件著作權5個、發明專利3項、出版學術專著3部;獲得北京市中青年骨干教師稱號、國際知識管理與智力資本傑出成就獎、IBM全球卓越教師獎、Emerald/EFMD國際傑出博士論文獎、國家自然科學基金項目優秀項目、中國大數據學術創新獎、中國大數據創新百人榜單、全國大數據教育行業傑出貢獻獎等多種獎勵30餘項。

目錄大綱

目 錄 第一篇準備工作 
1 為什麽要學習Python,學習Python 的什麽 3 

2 學習Python 之前需要準備的工作 6 

3 如何看懂和運行本書代碼 8 
3.1 輸入部分...8 
3.2 輸出部分 10 
3.3 錯誤與異常信息.... 11 
3.4 外部數據文件.........12 
3.5 註意事項 14 

第二篇Python 基礎 
4 數據類型.......19 
4.1 查看數據類型的方法............ 20 
4.2 判斷數據類型的方法.............21 
4.3 轉換數據類型的方法.............22 
4.4 特殊數據類型.........23 
4.5 序列類型26 

5 變量.28 
5.1 變量的定義方法.....29 
5.2 Python 是動態類型語言.......29 
5.3 Python 是強類型語言.......... 30 
5.4 Python 中的變量名是引用...31 
5.5 Python 中區分大小寫...........32 
5.6 變量命名規範.........32 
5.7 iPython 的特殊變量33 
5.8 查看Python 關鍵字的方法. 34 
5.9 查看已定義的所有變量.........35 
5.10 刪除變量.37 

6 語句書寫規範39 
6.1 一行一句 40 
6.2 一行多句 40
6.3 一句多行 41 
6.4 復合語句 42 
6.5 空語句.... 43 

7 賦值語句........44 
7.1 賦值語句在Python 中的重要地位..... 45 
7.2 鏈式賦值語句........ 45 
7.3 復合賦值語句........ 46 
7.4 序列的拆包式賦值 46 
7.5 兩個變量值的調換 47 
8 註釋語句.......48 
8.1 註釋方法 48 
8.2 註意事項 49 

9 運算符...........50 
9.1 特殊運算符.............53 
9.2 內置函數.57 
9.3 math 模塊.58 
9.4 優先級與結合方向.59 
10 if 語句............61 
10.1 基本語法.61 
10.2 elif 語句62 
10.3 if 與三元運算........63 
10.4 註意事項 64 

11 for 語句..........66 
11.1 基本語法.67 
11.2 range()函數..........67 
11.3 註意事項.68 

12 while 語句.....71 
12.1 基本語法.71 
12.2 註意事項.72 
13 pass 語句......74 
13.1 含義..... 74 
13.2 作用......75 

14 列表76 
14.1 定義方法.78 
14.2 切片操作.79 
14.3 反向遍歷.81 
14.4 類型轉換.83 
14.5 extend 與append 的區別.83 
14.6 列表推導式.......... 84 
14.7 插入與刪除...........87 
14.8 常用操作函數.......89 

15 元組94 
15.1 定義方法.95 
15.2 主要特徵.97 
15.3 基本用法.99 
15.4 應用場景............ 100 

16 字符串....... 103 
16.1 定義方法............ 104 
16.2 主要特徵............ 105 
16.3 字符串的操作.... 106 

17 序列............111 
17.1 支持索引............ 112 
17.2 支持切片............ 113 
17.3 支持迭代............ 114 
17.4 支持拆包............ 114 
17.5 支持*運算.......... 115 
17.6 通用函數............ 117 

18 集合........... 120 
18.1 定義方法............ 121 
18.2 主要特徵............ 122 
18.3 基本運算............ 123 
18.4 應用場景............ 125 

19 字典............126 
19.1 定義方法............ 127 
19.2 字典的主要特徵 128 
19.3 字典的應用場景 129 
20 函數.......... 130 
20.1 內置函數.............131 
20.2 模塊函數.............131 
20.3 用戶自定義函數.132 
21 內置函數....133 
21.1 內置函數的主要特點........ 134 
21.2 數學函數............ 134 
21.3 類型函數............ 135 
21.4 其他功能函數.... 136 

22 模塊函數.. 141 
22.1 import 模塊名.. 142 
22.2 import 模塊名as 別名.... 143 
22.3 from 模塊名import 函數名........... 143 

23 自定義函數. 145 
23.1 定義方法............ 147 
23.2 函數中的docString......... 148 
23.3 調用方法............ 148 
23.4 返回值 149 
23.5 形參與實參........ 150 
23.6 變量的可見性.... 152 
23.7 值傳遞與地址傳遞............ 154 
23.8 其他註意事項.... 156 

24 lambda 函數158 
24.1 lambda 函數的定義方法. 159 
24.2 lambda 函數的調用方法. 160 

第三篇Python 進階 
25 迭代器與生成器........165 
25.1 可迭代對象與迭代器........ 166 
25.2 生成器與迭代器 167 
26 模塊...........169 
26.1 導入與調用用法 170 
26.2 查看內置模塊清單的方法 171 

27 包 174 
27.1 相關術語 ............ 175 
27.2 安裝包 175 
27.3 查看已安裝包.... 176 
27.4 更新(或刪除)已安裝包 176 
27.5 導入包 177 
27.6 查看包的幫助.... 178 
27.7 常用包 179 

28 幫助文檔.. 180 
28.1 help 函數........... 181 
28.2 docString .......... 181 
28.3 查看源代碼........ 182 
28.4 doc 屬性............. 183 
28.5 dir()函數............. 184 
28.6 其他方法............ 186 

29 異常與錯誤187 
29.1 try/except/finally........... 188 
29.2 異常信息的顯示模式........ 189 
29.3 斷言... 190 

30 程序調試方法............192 
30.1 調試程序的基本方法 ........ 193 
30.2 設置錯誤信息的顯示方式 194 
30.3 設置斷言的方法 195 

31 面向對象編程.............197 
31.1 類的定義方法.... 198 
31.2 類中的特殊方法 199 
31.3 類之間的繼承關系............ 201 
31.4 私有屬性及@property 裝飾器....... 203 
31.5 self 和cls .......... 204 
31.6 new 與init 的區別和聯系. 205 

32 魔術命令.. 208 
32.1 運行.py 文件:%run........ 209 
32.2 統計運行時間:%timeit 與%%timeit....... 210 
32.3 查看歷史In 和Out 變量:%history .......... 211 
32.4 更改異常信息的顯示模式:%xmode.......... 212 
32.5 調試程序:%debug......... 214 
32.6 程序運行的逐行統計:%prun 與%lprun .. 215
32.7 內存使用情況的統計:%memit .... 216 

33 搜索路徑...218 
33.1 變量搜索路徑.... 219 
33.2 模塊搜索路徑.... 221 

34 當前工作目錄............224 
34.1 顯示當前工作目錄的方法 225 
34.2 更改當前工作目錄的方法 225 
34.3 讀/寫當前工作目錄的方法 226 

第四篇數據加工 
35 隨機數.......229 
35.1 一次生成一個數 230 
35.2 一次生成一個隨機數組.... 231 

36 數組...........234 
36.1 創建方法............ 238 
36.2 主要特徵............ 241 
36.3 切片/讀取........... 243 
36.4 淺拷貝和深拷貝 249 36.5 形狀和重構........ 250 
36.6 屬性計算............ 254 
36.7 ndarray 的計算. 256 
36.8 ndarray 的元素類型......... 258 
36.9 插入與刪除........ 259 
36.10 缺失值處理...... 260 
36.11 ndarray 的廣播規則....... 261 
36.12 ndarray 的排序. 262 
37 Series .........265 
37.1 Series 的主要特點............ 266 
37.2 Series 的定義方法............ 266 
37.3 Series 的操作方法............ 269 

38 DataFrame274 
38.1 DataFrame 的創建方法... 277 
38.2 查看行或列........ 278 
38.3 引用行或列........ 279  
38.4 index 操作........ 282 
38.5 刪除或過濾行/列 284 
38.6 算術運算............ 289 
38.7 大小比較運算.... 295 
38.8 統計信息............ 296 
38.9 排序... 298 
38.10 導入/導出........ 300 
38.11 缺失數據處理.. 301 
38.12 分組統計.......... 307 

39 日期與時間. 310 
39.1 常用包與模塊.... 311 
39.2 時間和日期類型的定義.... 311 
39.3 轉換方法............ 313 
39.4 顯示系統當前時間............ 315 
39.5 計算時差............ 316 
39.6 時間索引............ 316 
39.7 period_range()函數......... 319 

40 可視化...... 320 
40.1 Matplotlib 可視化........... 322 
40.2 改變圖的屬性.... 325 
40.3 改變圖的類型.... 328 
40.4 改變圖的坐標軸的取值範圍............ 329 
40.5 去掉邊界的空白 332 
40.6 在同一個坐標上畫兩個圖 332 
40.7 多圖顯示............ 333 
40.8 圖的保存............ 334 
40.9 散點圖的畫法.... 335 
40.10 Pandas 可視化 336 40.11 Seaborn 可視化 339 
40.12 數據可視化實戰 342 

41 Web 爬取...345 
41.1 Scrapy 的下載與安裝...... 348 
41.2 Scrapy Shell 的基本原理 349 
41.3 Scrapy Shell 的應用........ 350  
41.4 自定義Spider 類 352 
41.5 綜合運用............ 359 

第五篇數據分析 
42 統計分析...367 
42.1 業務理解............ 369 
42.2 數據讀入............ 369 
42.3 數據理解............ 370 
42.4 數據準備............ 371 
42.5 模型類型的選擇與超級參數的設置 373 
42.6 訓練具體模型及查看其統計量........ 374 
42.7 擬合優度評價.... 376 
42.8 建模前提假定的討論........ 376 
42.9 模型的優化與重新選擇.... 378 
42.10 模型的應用...... 382 

43 機器學習...383 
43.1 機器學習的業務理解........ 384 
43.2 數據讀入............ 385 
43.3 數據理解............ 386 
43.4 數據準備............ 389 
43.5 算法選擇及其超級參數的設置........ 392 
43.6 具體模型的訓練 393 43.7 用模型進行預測 393 
43.8 模型評價............ 394 
43.9 模型的應用與優化............ 395 

44 自然語言處理............399 
44.1 自然語言處理的常用包.... 400 
44.2 自然語言處理的包導入及設置........ 400 
44.3 數據讀入............ 401 
44.4 分詞處理............ 402 
44.5 自定義詞匯........ 403 
44.6 停用詞處理........ 407 
44.7 詞性分佈分析.... 408 
44.8 高頻詞分析........ 411 
44.9 詞頻統計............ 412 
44.10 關鍵詞分析...... 414 
44.11 生成詞雲.......... 415 

45 人臉識別與圖像分析. 418 
45.1 安裝並導入opencv-python 包... 419 
45.2 讀取圖像文件.... 419 
45.3 將RGB 圖像轉換為灰度圖............. 419 
45.4 人臉識別與繪制長方形.... 420 
45.5 圖像顯示............ 421 
45.6 圖像保存............ 422 

第六篇大數據處理 
46 Spark 編程425 
46.1 導入pyspark 包. 427 
46.2 SparkSession 及其創建.. 427 
46.3 Spark 數據抽象類型........ 430 
46.4 Spark DataFrame 操作... 433 
46.5 SQL 編程............ 437 
46.6 DataFrame 的可視化....... 440 
46.7 Spark 機器學習 442 
46.7.1 創建Spark Session  443 
46.7.2 讀入數據.. 443 
46.7.3 數據理解.. 444 
46.7.4 數據準備.. 444 
46.7.5 模型訓練.. 446 
46.7.6 模型評價.. 446 
46.7.7 預測.......... 447 

47 基於Spark 和MongoDB 的大數據分析............. 449 
47.1 數據準備............ 450 
47.2 數據讀入............ 452 
47.3 數據理解............ 453 
47.4 數據準備............ 455 
47.5 模型訓練............ 458 
47.6 模型評價............ 459 
47.7 模型應用............ 461 

第七篇 繼續學習 48 
Python 初學者常見錯誤及糾正方法.......465 
48.1 NameError: name ‘xxxx‘ is not defined . 465 
48.2 IndentationError: unexpected indent ..... 466 48.3 SyntaxError: invalid character in identifier .......... 467 48.4 TypeError: ‘XXXX‘ object does not support item assignment ...... 468 
48.5 TypeError: unsupported operand type(s) for XXXX ......... 468 
48.6 IndexError: list index out of range ......... 469 
48.7 TypeError: type() takes XXXX arguments ........... 469 
48.8 SyntaxError: unexpected EOF while parsing ...... 470 
48.9 ModuleNotFoundError: No module named XXXX ............ 471 
48.10 TypeError: ‘ list‘ object is not callable  472 
48.11 SyntaxError: invalid syntax ...... 473 
48.12 AttributeError:XXXX object has no attribute XXXX ..... 474 
48.13 TypeError: XXXX object is not an iterator......... 475 
48.14 FileNotFoundError: File XXXX does not exist. 476 
48.15 IndexError: too many indices for array  478 
48.16 TypeError: Required argument XXXX not found ............ 479 
48.17 TypeError: an XXXX is required (got type YYYY) .......... 480 
48.18 ValueError: Wrong number of items passed XXXX, placement implies YYYY  481 

49 Python 數據分析和數據科學面試題.......483 

50 繼續學習本書內容的推薦資源. 494 
50.1 重要網站............ 494 
50.2 重要圖書............ 494 
50.3 常用模塊與工具包............ 495 
50.4 常用統計模型.... 495 
50.5 核心機器學習算法............ 496 
50.6 繼續學習數據科學的建議路線圖.....497 
參考文獻........... 501