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