本書是數(shù)據(jù)分析類課程的入門教材,系統(tǒng)整理了數(shù)據(jù)分析的知識體系,以分析流程為主線闡述了數(shù)據(jù)分析的主要方法和基于Python的技術(shù)應(yīng)用。 全書共分為9章,包括數(shù)據(jù)分析簡介,數(shù)據(jù)分析的方法,NumPy和pandas基礎(chǔ),數(shù)據(jù)獲取與導(dǎo)入,數(shù)據(jù)預(yù)處理,數(shù)據(jù)探索,數(shù)據(jù)挖掘概述,基本統(tǒng)計圖形,文本、網(wǎng)絡(luò)和地理空間可視化。從第2章開始,在闡述基礎(chǔ)知識的同時設(shè)計了大量例題,按照分析需求Python代碼展示例題解析運行結(jié)果的模式對知識點進(jìn)行剖析。全書提供習(xí)題、答案及程序源碼。 本書可作為普通高等院校數(shù)據(jù)分析處理相關(guān)課程的學(xué)生的教材使用,也可供剛剛步入數(shù)據(jù)分析領(lǐng)域的從業(yè)人員參考。
1.數(shù)據(jù)科學(xué)是一門新興的熱門科學(xué),國內(nèi)外大學(xué)紛紛設(shè)立了數(shù)據(jù)相關(guān)課程、專業(yè)。數(shù)據(jù)相關(guān)的書籍深受讀者歡迎。
2.本書主要涉及數(shù)據(jù)分析方面基礎(chǔ)內(nèi)容,包括方法模型、分析步驟和數(shù)據(jù)分析報告專業(yè)等相關(guān)內(nèi)容,適應(yīng)于需要做數(shù)據(jù)分析的零基礎(chǔ)人員使用。
3.本書將在現(xiàn)實真實的數(shù)據(jù)集,結(jié)合大量數(shù)據(jù)分析案例,貫穿全書,領(lǐng)域廣泛。
4.本書適用于計算機科學(xué)與技術(shù)、數(shù)據(jù)科學(xué)、統(tǒng)計學(xué)、財務(wù)分析、大數(shù)據(jù)金融等需要進(jìn)行數(shù)據(jù)分析的專業(yè)和領(lǐng)域。目前市場上對數(shù)據(jù)分析背景相關(guān)技能人員需求一直居高不下。
5.采用最受歡迎的編程語言Python作為分析工具,代碼簡潔性、易讀性以及可擴展性,易上手。
大數(shù)據(jù)時代下,以信息技術(shù)為支撐的數(shù)據(jù)分析與研究方法正深刻地改變著傳統(tǒng)科學(xué)探索的工作方式,成為人類科技發(fā)展與知識獲取的一種新興模式。為了使堆積如山的數(shù)據(jù)能更好地被人們利用,需要對數(shù)據(jù)進(jìn)行有意義的處理。大數(shù)據(jù)時代對人類的數(shù)據(jù)駕馭能力提出了新的挑戰(zhàn),也為人們獲得更為深刻、全面的洞察能力提供了前所未有的空間與潛力。因此,尋求有效的數(shù)據(jù)處理技術(shù)和方法已經(jīng)成為現(xiàn)實的迫切需求。
本書的寫作目的是使讀者了解數(shù)據(jù)分析的基礎(chǔ)理論,掌握運用Python進(jìn)行科學(xué)計算、數(shù)據(jù)處理、分析和可視化的方法,具備處理和解決大量數(shù)據(jù)問題的能力。全書共分為9章,如表01所示。
表01全書知識體系
知 識 體 系章節(jié)
基礎(chǔ)知識
第1章 數(shù)據(jù)分析簡介
第2章 數(shù)據(jù)分析的方法
第3章 NumPy和pandas基礎(chǔ)
數(shù)據(jù)分析技術(shù)
第4章 數(shù)據(jù)獲取與導(dǎo)入
第5章 數(shù)據(jù)預(yù)處理
第6章 數(shù)據(jù)探索
第7章 數(shù)據(jù)挖掘概述
數(shù)據(jù)可視化
第8章 基本統(tǒng)計圖形
第9章 文本、網(wǎng)絡(luò)和地理空間可視化
1. 基礎(chǔ)知識
第1章數(shù)據(jù)分析簡介,介紹數(shù)據(jù)、數(shù)據(jù)分析等基本概念以及數(shù)據(jù)分析的作用、步驟和常用工具等;第2章介紹數(shù)據(jù)分析方法;第3章是Python中常用的NumPy和pandas數(shù)據(jù)分析包。
2. 數(shù)據(jù)分析技術(shù)
第4~7章以Python為基礎(chǔ)介紹數(shù)據(jù)的主要分析技術(shù)。第4章主要介紹數(shù)據(jù)獲取、網(wǎng)絡(luò)爬蟲以及不同種類文件的導(dǎo)入、導(dǎo)出方式;第5章介紹數(shù)據(jù)預(yù)處理的主要步驟和相關(guān)方法,包括數(shù)據(jù)清洗、數(shù)據(jù)集成、數(shù)據(jù)規(guī)約和數(shù)據(jù)變換等;第6章闡述數(shù)據(jù)探索的主要方法,包括基本描述性統(tǒng)計、分組與聚合分析、參數(shù)估計、假設(shè)檢驗和相關(guān)性分析等;第7章介紹數(shù)據(jù)挖掘的概念、問題與任務(wù),以及從基礎(chǔ)知識、代表性算法、評估分析等方面,重點介紹了數(shù)據(jù)挖掘常用的分析方法,包括分類分析、關(guān)聯(lián)分析和聚類分析。
3. 數(shù)據(jù)可視化
第8章介紹了基于Python的三種常用繪圖包,分別是Matplotlib、pandas和Seaborn,可繪制的圖形類型包括線圖、直方圖、條形圖、龍卷風(fēng)圖、餅圖、散點圖、氣泡圖、箱線圖、雷達(dá)圖和數(shù)據(jù)分布圖等。第9章概要介紹了網(wǎng)絡(luò)圖、文本數(shù)據(jù)、地理數(shù)據(jù)等非數(shù)值型數(shù)據(jù)的可視化方法。
書中每章的最后都給出了配套的習(xí)題,便于教師教學(xué)和測試,學(xué)生鞏固知識點并啟發(fā)全面思考。
與現(xiàn)有以介紹Python編程語法、數(shù)據(jù)挖掘與機器學(xué)習(xí)理論的書籍不同,本書是數(shù)據(jù)分析類課程的入門教材,系統(tǒng)整理了數(shù)據(jù)分析的知識體系,以分析流程為主線闡述了數(shù)據(jù)分析的主要方法和基于Python的技術(shù)應(yīng)用。從第2章開始,在闡述基礎(chǔ)知識的同時設(shè)計了大量例題,按照分析需求Python代碼展示例題解析運行結(jié)果的思路對知識點進(jìn)行剖析。設(shè)計的例題有助于教師授課和學(xué)生自學(xué)理解。采用較受歡迎的編程語言Python作為分析工具,代碼簡潔、易讀性好,且易上手。全書提供習(xí)題、答案及源碼。建議至少進(jìn)行32學(xué)時的授課和學(xué)習(xí)。
本書可作為普通高等院校數(shù)據(jù)分析處理相關(guān)課程的學(xué)生的教材使用,也可供剛剛步入數(shù)據(jù)分析領(lǐng)域的從業(yè)人員參考。
本書由潘曉、吳雷、王書海編著,第1~3章、第7~9章由潘曉編寫,第4~6由吳雷編寫,全書由潘曉負(fù)責(zé)統(tǒng)稿定稿。本書在撰寫過程中參考了如維基百科、知乎、CSDN等互聯(lián)網(wǎng)上優(yōu)秀的資料。此外,特別感謝實驗室的博士生和碩士生們進(jìn)行的資料收集與整理,其中包括董慧、姜夢、鹿東娜和杜一凡,感謝石家莊鐵道大學(xué)信息管理與信息系統(tǒng)專業(yè)的2018級和2019級學(xué)生作為第一批讀者完成的勘誤工作。感謝河北省自然科學(xué)基金項目(F2021210005)、河北省重點研發(fā)項目(21340301D)、河北省省級科技計劃資助項目(21550803D)、河北省教育廳青年拔尖項目(BJ2021085)項目的支持。
感謝清華大學(xué)出版社在全書的校對和編輯出版過程中付出的巨大努力。由于作者水平有限,書中如有疏漏之處敬請讀者提出寶貴意見。
潘曉2022年12月
第1章數(shù)據(jù)分析簡介
1.1開篇案例
1.2認(rèn)識數(shù)據(jù)
1.2.1數(shù)據(jù)
1.2.2數(shù)據(jù)類型
1.3認(rèn)識數(shù)據(jù)分析
1.3.1數(shù)據(jù)管理的產(chǎn)生和發(fā)展
1.3.2機器學(xué)習(xí)與人工智能
1.4數(shù)據(jù)分析步驟
1.5數(shù)據(jù)分析作用
1.6常用數(shù)據(jù)分析工具
1.7數(shù)據(jù)分析思維
小結(jié)
習(xí)題
第2章數(shù)據(jù)分析的方法
2.1針對現(xiàn)狀分析的數(shù)據(jù)分析方法
2.1.1對比分析法
2.1.2分組分析法
2.1.3結(jié)構(gòu)分析法
2.1.4平均分析法
2.1.5綜合評價分析法
2.2針對原因分析的數(shù)據(jù)分析方法
2.2.1交叉分析法
2.2.2漏斗分析法
2.2.3矩陣關(guān)聯(lián)分析法
2.2.4聚類分析法
2.2.5帕累托分析法
2.3針對預(yù)測分析的數(shù)據(jù)分析方法
2.3.1回歸分析法
2.3.2時間序列分析法
2.3.3決策樹分析法
2.3.4神經(jīng)網(wǎng)絡(luò)分析法
小結(jié)
習(xí)題
第3章NumPy和pandas基礎(chǔ)
3.1NumPy基礎(chǔ)
3.1.1ndarray數(shù)組的創(chuàng)建
3.1.2ndarray的常用屬性
3.1.3ndarray的數(shù)據(jù)類型
3.1.4ndarray的算術(shù)操作
3.1.5ndarray的索引和切片
3.1.6對軸的理解
3.2pandas基礎(chǔ)
3.2.1pandas數(shù)據(jù)結(jié)構(gòu)
3.2.2索引重命名與重新索引
3.2.3數(shù)據(jù)基本操作
小結(jié)
習(xí)題
第4章數(shù)據(jù)獲取與導(dǎo)入
4.1數(shù)據(jù)獲取
4.2網(wǎng)絡(luò)爬蟲
4.2.1網(wǎng)頁結(jié)構(gòu)
4.2.2爬蟲的流程
4.2.3爬蟲Robots協(xié)議
4.3數(shù)據(jù)導(dǎo)入與導(dǎo)出
4.3.1一般文件
4.3.2CSV文件
4.3.3Excel文件
4.3.4JSON文件
4.3.5數(shù)據(jù)庫
小結(jié)
習(xí)題
第5章數(shù)據(jù)預(yù)處理
5.1數(shù)據(jù)預(yù)處理的必要性
5.2數(shù)據(jù)清洗
5.2.1重復(fù)值檢測與處理
5.2.2缺失值檢測與處理
5.2.3噪聲檢測與處理
5.3數(shù)據(jù)集成
5.3.1實體識別問題
5.3.2數(shù)據(jù)列冗余問題
5.3.3數(shù)據(jù)值沖突問題
5.4數(shù)據(jù)規(guī)約
5.4.1策略概述
5.4.2屬性子集選擇
5.4.3抽樣
5.5數(shù)據(jù)變換
5.5.1數(shù)據(jù)合并
5.5.2數(shù)據(jù)抽取
5.5.3數(shù)據(jù)計算
小結(jié)
習(xí)題
第6章數(shù)據(jù)探索
6.1基本統(tǒng)計描述
6.1.1集中趨勢
6.1.2離散程度
6.1.3分布形狀
6.2數(shù)據(jù)分組與聚合分析
6.2.1數(shù)據(jù)分組
6.2.2數(shù)據(jù)聚合
6.3交叉分析
6.3.1數(shù)據(jù)透視表
6.3.2數(shù)據(jù)交叉表
6.4參數(shù)估計及假設(shè)檢驗
6.4.1參數(shù)估計
6.4.2假設(shè)檢驗
6.5相關(guān)分析
6.5.1簡單相關(guān)分析
6.5.2偏相關(guān)分析
6.5.3非參數(shù)相關(guān)分析
小結(jié)
習(xí)題
第7章數(shù)據(jù)挖掘概述
7.1什么是數(shù)據(jù)挖掘
7.2數(shù)據(jù)挖掘問題與任務(wù)
7.3分類分析
7.3.1預(yù)備知識
7.3.2解決分類問題的一般方法
7.3.3代表性方法之一: K最近鄰算法
7.3.4評估分類器性能的度量
7.4關(guān)聯(lián)分析
7.4.1購物籃分析
7.4.2頻繁項集和關(guān)聯(lián)規(guī)則
7.4.3基于Python的Apriori算法
7.4.4關(guān)聯(lián)模式的評估
7.5聚類分析
7.5.1什么是聚類分析
7.5.2基本的聚類方法
7.5.3代表性方法之一: k均值
7.5.4聚類評估
小結(jié)
習(xí)題
第8章基本統(tǒng)計圖形
8.1Matplotlib繪圖
8.1.1圖形基本設(shè)置
8.1.2基本統(tǒng)計圖形
8.2pandas繪圖
8.3Seaborn繪圖
8.3.1單變量數(shù)據(jù)分布
8.3.2雙變量數(shù)據(jù)分布
8.3.3多變量數(shù)據(jù)分布
小結(jié)
習(xí)題
第9章文本、網(wǎng)絡(luò)和地理空間可視化
9.1文本可視化
9.1.1分詞
9.1.2詞云
9.2網(wǎng)絡(luò)圖可視化
9.2.1網(wǎng)絡(luò)與圖
9.2.2NetworkX繪圖
9.3地理空間可視化
9.3.1GeoPandas和Basemap
9.3.2分級統(tǒng)計地圖
9.3.3點描法地圖
9.3.4帶氣泡的地圖
小結(jié)
習(xí)題
參考文獻(xiàn)