本書主要介紹了如何使用Python進行數據清洗、轉換和整合,以及如何確保數據的準確性和一致性。本書涵蓋了數據整理基礎、數據清洗、數據轉換、數據整合、數據質量檢查和數據可視化等內容。
數據無處不在,它們蘊含著獨特的信息和有價值的故事,本書將幫助你發(fā)掘它們。無論你已經開始處理數據,還是想要學習如何處理數據,都能通過本書中的示例與技術學會更好地清洗、評估并分析數據,以形成有意義的洞見,并制作出有說服力的可視化圖表。
作者既講解了基本概念,也給出了專業(yè)建議,并且提供了相應的資源來幫助大家學會提取、評估并分析各種數據源和數據格式。另外,作者還講解了相應的工具,讓你能夠有效地與他人交流,讓對方了解自己通過分析這些數據所得到的觀點。本書沒有艱深的術語,適合各種水平的數據從業(yè)者閱讀,無論你是純粹的新手還是有經驗的專業(yè)人士,都可以通過本書學會如何駕馭數據。
通過學習本書,你將:
? 使用Python 3.8以上的版本讀寫和轉換各種來源的數據。
? 理解并使用基本的Python編程技術來整理大規(guī)模的數據。
? 使用各種經驗法則來組織代碼的結構并為其撰寫文檔。
? 從結構化數據文件、網頁和API中收集數據。
? 執(zhí)行基本的統(tǒng)計分析,以便從數據集中得出有意義的結論。
? 用清晰且具有說服力的方式可視化和展示數據。
Susan E. McGregor 是哥倫比亞大學數據科學研究所的研究員,也是該研究所數據、媒
體和社會中心的聯合主管。十多年來,她一直在向非理工科的專業(yè)人士、研究生及本科
生講授編程與數據分析課程,并不斷完善自己的教學方式。
McGregor 于 2011 年加入哥倫比亞大學新聞學院及 Tow 數字新聞中心,此后,她一直在
哥倫比亞大學任教并從事研究工作。McGregor 開設了學院的首個數據新聞課程,并擔任
新聞學及計算機科學雙學位計劃的導師。她主要研究與新聞工作者及媒體有關的安全及
隱私問題,她的第一本書 Information Security Essentials: A Guide for Reporters, Editors,
and Newsroom Leaders(哥倫比亞大學出版社,2021)討論的也是這個話題。
加入哥倫比亞大學之前,McGregor 在《華爾街日報》的 News Graphics 團隊做了幾年
資深程序員。她參與制作了該報的“ What They Know”系列,并由此獲得 2011 年的
Gerald Loeb Award 獎。McGregor 在許多討論安全及隱私的前沿學術會議上發(fā)言并發(fā)表
文章。她的工作受到美國國家科學基金會、奈特基金會(Knight Foundation)、Google 以
及哥倫比亞大學多個學院與機構的資助。McGregor 還關注如何運用藝術來激發(fā)批判思
維,以及如何通過藝術給技術問題帶來新的思路。她擁有哈佛大學交互信息設計學士學
位及紐約大學教育傳播與技術碩士學位。
目錄
前言1
第1章 數據整理與數據質量簡介7
1.1 什么是數據整理8
1.2 什么是數據質量9
1.3 為什么選用Python語言整理數據12
1.4 編寫并運行Python代碼14
1.5 如何在自己的設備上編寫Python代碼16
1.6 在網頁版的開發(fā)環(huán)境中編寫Python代碼25
1.7 編寫“Hello World!”程序25
1.8 添加代碼28
1.9 運行代碼29
1.10 撰寫文檔、保存工作資料和管理不同版本的資料29
1.11 小結40
第2章 Python 入門41
2.1 詞性42
2.2 用循環(huán)結構與條件結構控制程序的走向51
2.3 代碼中可能出現的各種錯誤59
2.4 用Citi Bike數據來演示如何編寫數據整理程序67
2.5 小結74
第3章 了解數據質量75
3.1 判斷數據是否合適77
3.2 判斷數據是否完整83
3.3 提升數據的質量92
3.4 小結94
第4章 用Python處理基于文件與基于feed的數據95
4.1 結構化的數據與非結構化的數據97
4.2 處理結構化的數據101
4.3 以了解失業(yè)情況為例來整理現實數據110
4.4 處理非結構化的數據141
4.5 小結147
第5章 訪問網絡數據148
5.1 聯網訪問在線的 XML 與 JSON 數據150
5.2 API 簡介152
5.3 以搜索引擎為例講解如何調用基本的API153
5.4 如何調用帶有基本身份認證機制的API155
5.5 閱讀API文檔157
5.6 使用Python時保護你的API密鑰160
5.7 如何調用帶有 OAuth 認證機制的API166
5.8 調用API時所應遵循的行為準則178
5.9 獲取數據的最后一招:網頁抓取180
5.10 小結189
第6章 評估數據質量190
6.1 流行病與PPP192
6.2 評估數據的完整程度192
6.3 評估數據的適合程度220
6.4 小結225
第7章 清洗、轉換和增強數據227
7.1 如何從 Citi Bike 數據中選取一部分內容228
7.2 把數據文件清洗干凈238
7.3 把 Excel 表格中的日期處理好241
7.4 把定寬數據轉換成真正的 CSV 文件244
7.5 修正拼寫不一致的現象246
7.6 為了找到簡單方案而走過的彎路251
7.7 一些容易出錯的地方254
7.8 增強數據255
7.9 小結257
第 8 章 調整并重構代碼259
8.1 重新思考自定義的函數259
8.2 什么是作用域261
8.3 為函數設計參數263
8.4 返回值266
8.5 以嵌套的形式調用函數267
8.6 既有趣又有用的重構269
8.7 用 pydoc 給自定義的腳本與函數撰寫文檔279
8.8 讓Python腳本支持命令行參數283
8.9 命令行腳本與notebook的區(qū)別286
8.10 小結287
第9章 數據分析入門288
9.1 情境很重要289
9.2 常規(guī)與反常290
9.3 評估集中趨勢291
9.4 另辟蹊徑:識別異常值293
9.5 數據分析可視化293
9.6 這些200萬美元的貸款記錄是怎么回事306
9.7 注意按比例計算317
9.8 小結320
第10章 展示數據322
10.1 視覺說服力323
10.2 把整理數據后形成的觀點表達出來325
10.3 如何選擇圖表326
10.4 視覺說服力要素342
10.5 通過 seaborn與matplotlib庫自定義更好的可視化圖表346
10.6 提高設計水平351
10.7 小結352
第11章 Python 以外的工具353
11.1 查看數據的其他工具353
11.2 分享并展示數據的其他工具357
11.3 考慮原則問題359
11.4 小結360
附錄A 其他Python編程資源361
附錄B 再講一講 Git365
附錄C 獲取數據的渠道371
附錄D 與可視化及信息設計有關的資源376