Python數(shù)據(jù)分析與應(yīng)用
定 價(jià):69 元
叢書名:數(shù)據(jù)科學(xué)與工程技術(shù)叢書
- 作者:王愷,路明曉,于剛,張?jiān)戮?/span>
- 出版時(shí)間:2021/7/1
- ISBN:9787111681601
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP311.561
- 頁(yè)碼:
- 紙張:膠版紙
- 版次:
- 開(kāi)本:16開(kāi)
本書基于作者多年來(lái)的課程教學(xué)經(jīng)驗(yàn)和利用Python進(jìn)行數(shù)據(jù)分析的工程經(jīng)驗(yàn)編寫而成,面向數(shù)據(jù)分析的初學(xué)者,使其具備利用Python開(kāi)展數(shù)據(jù)分析工作、解決各專業(yè)問(wèn)題的思維和能力。高校計(jì)算機(jī)、大數(shù)據(jù)、人工智能及其他相關(guān)專業(yè)均可使用本書作為數(shù)據(jù)分析課程教材。
數(shù)據(jù)分析是對(duì)數(shù)據(jù)進(jìn)行檢查、清理、轉(zhuǎn)換和建模的過(guò)程,有助于從數(shù)據(jù)中發(fā)現(xiàn)規(guī)律并制定科學(xué)的決策,目前已廣泛應(yīng)用于自然科學(xué)、社會(huì)科學(xué)和管理科學(xué)的各個(gè)領(lǐng)域。各專業(yè)的學(xué)生都有必要掌握數(shù)據(jù)分析的基本原理和經(jīng)典方法,了解數(shù)據(jù)分析能做什么、如何做數(shù)據(jù)分析,并掌握基本的數(shù)據(jù)分析流程,當(dāng)遇到專業(yè)問(wèn)題或進(jìn)行專業(yè)研究時(shí)能主動(dòng)應(yīng)用數(shù)據(jù)分析方法解決問(wèn)題,完成一些具有創(chuàng)新性的工作。
Python是當(dāng)前數(shù)據(jù)分析工作中常用的編程語(yǔ)言,它是一種代表簡(jiǎn)單主義思想的語(yǔ)言,可以使用盡量少的代碼完成更多的工作。Python使用戶能夠?qū)W⒂诮鉀Q問(wèn)題而不是理解語(yǔ)言本身。另外,Python有簡(jiǎn)潔的說(shuō)明文檔、豐富的第三方庫(kù),使得初學(xué)者很容易上手。掌握Python編程的基礎(chǔ)知識(shí)有助于各專業(yè)人員更好地開(kāi)展數(shù)據(jù)分析相關(guān)的工作,更好地解決實(shí)際工作中的問(wèn)題。
本書是在教育部產(chǎn)學(xué)合作協(xié)同育人項(xiàng)目的支持下,由南開(kāi)大學(xué)計(jì)算機(jī)學(xué)院的教師與北京華育興業(yè)科技有限公司的技術(shù)專家合作編寫而成的。作者結(jié)合多年教學(xué)經(jīng)驗(yàn),在分析各專業(yè)人員的數(shù)據(jù)分析工作需求的基礎(chǔ)上安排本書內(nèi)容,可作為高校大數(shù)據(jù)、計(jì)算機(jī)、人工智能等專業(yè)和對(duì)數(shù)據(jù)分析有需求的其他專業(yè)學(xué)生的教材,也可作為Python數(shù)據(jù)分析開(kāi)發(fā)人員的參考手冊(cè)。本書針對(duì)每一個(gè)知識(shí)點(diǎn)提供了實(shí)例,通過(guò)具體問(wèn)題向讀者展示了基于Python的數(shù)據(jù)分析程序的編寫方法,方便讀者學(xué)習(xí)基于Python開(kāi)展數(shù)據(jù)分析工作的方法和過(guò)程,幫助讀者快速掌握基于Python的數(shù)據(jù)分析方法并初步具備利用相關(guān)知識(shí)解決實(shí)際數(shù)據(jù)分析問(wèn)題的能力。在本書配套資源中,我們也提供了數(shù)據(jù)分析實(shí)例源代碼,讀者可通過(guò)動(dòng)手實(shí)踐掌握數(shù)據(jù)分析方法和基于Python的編程實(shí)現(xiàn),為使用Python編程語(yǔ)言解決更復(fù)雜的數(shù)據(jù)分析問(wèn)題打下良好的基礎(chǔ)。
在利用本書學(xué)習(xí)Python數(shù)據(jù)分析知識(shí)時(shí),建議讀者多思考、多分析、多動(dòng)手實(shí)踐。當(dāng)看到一個(gè)數(shù)據(jù)分析問(wèn)題時(shí),首先要自己分析該問(wèn)題,設(shè)計(jì)求解該問(wèn)題的算法;然后梳理程序結(jié)構(gòu),編寫程序?qū)崿F(xiàn)算法;后運(yùn)行程序,并通過(guò)系統(tǒng)的錯(cuò)誤提示或通過(guò)程序調(diào)試方法解決程序中的語(yǔ)法錯(cuò)誤和邏輯錯(cuò)誤。只有這樣,才能真正掌握利用Python進(jìn)行數(shù)據(jù)分析工作的方法,進(jìn)而在實(shí)際工作中熟練運(yùn)用相關(guān)知識(shí)解決具體問(wèn)題。另外,豐富的第三方工具包是Python語(yǔ)言的優(yōu)勢(shì)之一。在學(xué)習(xí)一個(gè)新的工具包時(shí),首先應(yīng)掌握該工具包提供的數(shù)據(jù)類型(可以用于存儲(chǔ)哪些數(shù)據(jù)),再根據(jù)需要掌握常用的數(shù)據(jù)操作方法(可以對(duì)數(shù)據(jù)做哪些操作)。我們?cè)谧鱿到y(tǒng)設(shè)計(jì)時(shí)亦是如此,先確定系統(tǒng)中涉及的數(shù)據(jù),再考慮可以對(duì)這些數(shù)據(jù)進(jìn)行哪些操作。
本書的特色有以下幾點(diǎn):
1)問(wèn)題導(dǎo)向,通過(guò)大量程序?qū)嵗棺x者更直觀地理解Python數(shù)據(jù)分析的方法和過(guò)程。
2)重點(diǎn)/難點(diǎn)突出,通過(guò)大量提示向讀者詳細(xì)說(shuō)明學(xué)習(xí)過(guò)程中需重點(diǎn)掌握或不容易理解的內(nèi)容。
3)知識(shí)系統(tǒng)完整,對(duì)涉及的每個(gè)知識(shí)點(diǎn)都給出了詳細(xì)介紹,更加適合初學(xué)者作為教材或開(kāi)發(fā)人員作為參考手冊(cè)。
本書共分為8章,各章內(nèi)容的簡(jiǎn)單介紹如下。
第1章首先介紹數(shù)據(jù)分析的基本概念和基本流程,列舉了一些應(yīng)用場(chǎng)景,使讀者認(rèn)識(shí)數(shù)據(jù)分析在實(shí)際應(yīng)用中的重要意義。接下來(lái),通過(guò)一個(gè)程序示例幫助讀者理解數(shù)據(jù)分析的基本流程。然后,結(jié)合上機(jī)操作指導(dǎo)和程序?qū)嵗?jiǎn)要介紹數(shù)據(jù)分析領(lǐng)域廣泛使用的Python程序設(shè)計(jì)語(yǔ)言的知識(shí),包括Anaconda集成平臺(tái)和Jupyter Notebook開(kāi)發(fā)環(huán)境的使用方法,以及內(nèi)置數(shù)據(jù)類型、程序的控制結(jié)構(gòu)、模塊化、面向?qū)ο、文件操作、異常處理等。后,提供兩個(gè)簡(jiǎn)單的包/模塊使用示例。個(gè)例子利用csv模塊完成CSV文件的讀/寫操作;第二個(gè)例子利用random模塊實(shí)現(xiàn)生成隨機(jī)數(shù)的功能和利用time模塊實(shí)現(xiàn)時(shí)間處理的功能,并給出排序時(shí)間隨問(wèn)題規(guī)模(即待排序元素?cái)?shù)量)變化的實(shí)驗(yàn)。
第2章首先介紹NumPy中用于存儲(chǔ)數(shù)組數(shù)據(jù)的ndarray類,通過(guò)對(duì)列表與ndarray的排序和求和時(shí)間的比較分析,討論了ndarray在大數(shù)據(jù)分析中的優(yōu)勢(shì),并依次介紹ndarray類對(duì)象的常用屬性和創(chuàng)建方法。然后,介紹利用tushare工具包獲取該章實(shí)例所使用的股票數(shù)據(jù)的方法,并介紹如何利用NumPy提供的loadtxt和savetxt函數(shù)完成CSV文件的讀寫操作。后,結(jié)合獲取的股票數(shù)據(jù),通過(guò)實(shí)例詳細(xì)介紹索引和切片、數(shù)據(jù)拷貝、數(shù)據(jù)處理和高級(jí)索引等方面的知識(shí),使讀者能夠更好地掌握NumPy的應(yīng)用方法。
第3章首先介紹Pandas中常用的數(shù)據(jù)結(jié)構(gòu)Series類和DataFrame類,以及軸標(biāo)簽的數(shù)據(jù)結(jié)構(gòu)Index類,并通過(guò)代碼實(shí)例詳細(xì)地介紹它們的常用對(duì)象屬性和創(chuàng)建方法。然后,詳細(xì)介紹Series和DataFrame的多種元素訪問(wèn)方式,包括屬性運(yùn)算符訪問(wèn)、索引運(yùn)算符訪問(wèn)、loc和iloc方法、at和iat方法、head和tail方法等。在此基礎(chǔ)上,介紹Pandas提供的數(shù)據(jù)清洗方法、常用的數(shù)據(jù)合并方法(merge、join和concat等),以及等常用的數(shù)據(jù)重塑方法(pivot和melt等)。后通過(guò)實(shí)例詳細(xì)介紹利用Pandas工具包進(jìn)行數(shù)據(jù)清洗、數(shù)據(jù)預(yù)處理、數(shù)據(jù)重塑的操作過(guò)程,使讀者能夠更好地掌握Pandas的應(yīng)用方法。
第4章首先介紹Pandas中用于基本統(tǒng)計(jì)分析的相關(guān)函數(shù),并依次介紹分組分析、分布分析、交叉分析、結(jié)構(gòu)分析和相關(guān)分析的
前言
第1章 基礎(chǔ)知識(shí)1
1.1 數(shù)據(jù)分析簡(jiǎn)介1
1.2 Python編程基礎(chǔ)4
1.2.1 Anaconda環(huán)境的安裝和配置5
1.2.2 Jupyter Notebook的使用7
1.2.3 內(nèi)置數(shù)據(jù)類型11
1.2.4 程序的控制結(jié)構(gòu)12
1.2.5 模塊化13
1.2.6 面向?qū)ο?4
1.2.7 文件操作16
1.2.8 異常處理17
1.3 包/模塊使用示例18
1.3.1 CSV文件操作18
1.3.2 排序時(shí)間測(cè)試20
1.4 本章小結(jié)24
1.5 習(xí)題25
第2章 科學(xué)計(jì)算基礎(chǔ)工具包NumPy27
2.1 ndarray類27
2.1.1 為什么使用ndarray28
2.1.2 ndarray類對(duì)象的常用屬性30
2.1.3 創(chuàng)建ndarray類對(duì)象32
2.2 示例數(shù)據(jù)35
2.3 索引和切片38
2.4 數(shù)據(jù)拷貝40
2.5 數(shù)據(jù)處理43
2.5.1 基礎(chǔ)運(yùn)算43
2.5.2 廣播機(jī)制47
2.5.3 通用函數(shù)48
2.5.4 常用函數(shù)和方法51
2.6 高級(jí)索引58
2.7 本章小結(jié)62
2.8 習(xí)題63
第3章 數(shù)據(jù)分析工具庫(kù)Pandas66
3.1 Series類66
3.1.1 Series對(duì)象的常用屬性66
3.1.2 創(chuàng)建Series對(duì)象67
3.2 DataFrame對(duì)象69
3.2.1 DataFrame對(duì)象的常用屬性70
3.2.2 創(chuàng)建DataFrame對(duì)象72
3.3 Index對(duì)象74
3.3.1 Index對(duì)象的常用屬性74
3.3.2 創(chuàng)建Index對(duì)象74
3.4 元素訪問(wèn)方式75
3.4.1 屬性運(yùn)算符訪問(wèn)76
3.4.2 索引運(yùn)算符訪問(wèn)77
3.4.3 loc訪問(wèn)方法81
3.4.4 iloc訪問(wèn)方法83
3.4.5 at和iat索引方法86
3.4.6 head和tail方法87
3.5 數(shù)據(jù)清洗88
3.5.1 處理缺失數(shù)據(jù)88
3.5.2 刪除重復(fù)數(shù)據(jù)92
3.6 數(shù)據(jù)合并94
3.6.1 merge方法94
3.6.2 join方法97
3.6.3 concat方法100
3.7 數(shù)據(jù)重塑103
3.7.1 pivot方法103
3.7.2 melt方法104
3.8 Pandas數(shù)據(jù)處理實(shí)例106
3.8.1 藥品銷售數(shù)據(jù)處理實(shí)例106
3.8.2 流感與人口數(shù)據(jù)處理實(shí)例110
3.9 本章小結(jié)113
3.10 習(xí)題114
第4章 數(shù)據(jù)統(tǒng)計(jì)分析119
4.1 基本統(tǒng)計(jì)分析119
4.2 分組分析121
4.2.1 定性分組121
4.2.2 定量分組123
4.3 分布分析124
4.4 交叉分析125
4.5 結(jié)構(gòu)分析127
4.6 相關(guān)分析128
4.7 應(yīng)用實(shí)例131
4.8 本章小結(jié)133
4.9 習(xí)題133
第5章 時(shí)間序列分析135
5.1 Datetime模塊135
5.2 時(shí)間序列基礎(chǔ)137
5.3 日期時(shí)間處理140
5.4 頻率轉(zhuǎn)換與重采樣143
5.4.1 頻率轉(zhuǎn)換143
5.4.2 重采樣145
5.5 本章小結(jié)151
5.6 習(xí)題151
第6章 數(shù)據(jù)可視化153
6.1 Matplotlib153
6.1.1 線形圖153
6.1.2 條形圖155
6.1.3 餅圖156
6.1.4 散點(diǎn)圖158
6.1.5 直方圖159
6.2 Seaborn160
6.2.1 關(guān)系圖161
6.2.2 分布圖163
6.2.3 分類圖167
6.2.4 回歸圖170
6.2.5 熱力圖172
6.3 Pyecharts173
6.3.1 Pyecharts圖表類173
6.3.2 Pyecharts圖表配置174
6.4 應(yīng)用實(shí)例177
6.5 本章小結(jié)182
6.6 習(xí)題183
第7章 網(wǎng)絡(luò)爬蟲(chóng)187
7.1 網(wǎng)絡(luò)數(shù)據(jù)獲取187
7.2 數(shù)據(jù)文件操作196
7.3 應(yīng)用實(shí)例203
7.4 本章小結(jié)208
7.5 習(xí)題208
第8章 MySQL數(shù)據(jù)庫(kù)操作210
8.1 MySQL簡(jiǎn)介210
8.2 MySQL的安裝211
8.3 連接、讀取和存儲(chǔ)214
8.3.1 創(chuàng)建數(shù)據(jù)庫(kù)和數(shù)據(jù)表214
8.3.2 Python連接數(shù)據(jù)庫(kù)217
8.3.3 Python讀取數(shù)據(jù)庫(kù)218
8.3.4 Python存儲(chǔ)數(shù)據(jù)庫(kù)219
8.4 數(shù)據(jù)操作222
8.4.1 查詢操作222
8.4.2 插入操作223
8.4.3 更新操作225
8.4.4 刪除操作226
8.5 應(yīng)用實(shí)例227
8.6 本章小結(jié)233
8.7 習(xí)題233
附錄 NumPy通用函數(shù)235
參考文獻(xiàn)238