Python數(shù)據(jù)分析與應(yīng)用
定 價:69 元
叢書名:數(shù)據(jù)科學(xué)與工程技術(shù)叢書
- 作者:王愷,路明曉,于剛,張月久
- 出版時間:2021/7/1
- ISBN:9787111681601
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP311.561
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書基于作者多年來的課程教學(xué)經(jīng)驗和利用Python進(jìn)行數(shù)據(jù)分析的工程經(jīng)驗編寫而成,面向數(shù)據(jù)分析的初學(xué)者,使其具備利用Python開展數(shù)據(jù)分析工作、解決各專業(yè)問題的思維和能力。高校計算機(jī)、大數(shù)據(jù)、人工智能及其他相關(guān)專業(yè)均可使用本書作為數(shù)據(jù)分析課程教材。
數(shù)據(jù)分析是對數(shù)據(jù)進(jìn)行檢查、清理、轉(zhuǎn)換和建模的過程,有助于從數(shù)據(jù)中發(fā)現(xiàn)規(guī)律并制定科學(xué)的決策,目前已廣泛應(yīng)用于自然科學(xué)、社會科學(xué)和管理科學(xué)的各個領(lǐng)域。各專業(yè)的學(xué)生都有必要掌握數(shù)據(jù)分析的基本原理和經(jīng)典方法,了解數(shù)據(jù)分析能做什么、如何做數(shù)據(jù)分析,并掌握基本的數(shù)據(jù)分析流程,當(dāng)遇到專業(yè)問題或進(jìn)行專業(yè)研究時能主動應(yīng)用數(shù)據(jù)分析方法解決問題,完成一些具有創(chuàng)新性的工作。
Python是當(dāng)前數(shù)據(jù)分析工作中常用的編程語言,它是一種代表簡單主義思想的語言,可以使用盡量少的代碼完成更多的工作。Python使用戶能夠?qū)W⒂诮鉀Q問題而不是理解語言本身。另外,Python有簡潔的說明文檔、豐富的第三方庫,使得初學(xué)者很容易上手。掌握Python編程的基礎(chǔ)知識有助于各專業(yè)人員更好地開展數(shù)據(jù)分析相關(guān)的工作,更好地解決實際工作中的問題。
本書是在教育部產(chǎn)學(xué)合作協(xié)同育人項目的支持下,由南開大學(xué)計算機(jī)學(xué)院的教師與北京華育興業(yè)科技有限公司的技術(shù)專家合作編寫而成的。作者結(jié)合多年教學(xué)經(jīng)驗,在分析各專業(yè)人員的數(shù)據(jù)分析工作需求的基礎(chǔ)上安排本書內(nèi)容,可作為高校大數(shù)據(jù)、計算機(jī)、人工智能等專業(yè)和對數(shù)據(jù)分析有需求的其他專業(yè)學(xué)生的教材,也可作為Python數(shù)據(jù)分析開發(fā)人員的參考手冊。本書針對每一個知識點提供了實例,通過具體問題向讀者展示了基于Python的數(shù)據(jù)分析程序的編寫方法,方便讀者學(xué)習(xí)基于Python開展數(shù)據(jù)分析工作的方法和過程,幫助讀者快速掌握基于Python的數(shù)據(jù)分析方法并初步具備利用相關(guān)知識解決實際數(shù)據(jù)分析問題的能力。在本書配套資源中,我們也提供了數(shù)據(jù)分析實例源代碼,讀者可通過動手實踐掌握數(shù)據(jù)分析方法和基于Python的編程實現(xiàn),為使用Python編程語言解決更復(fù)雜的數(shù)據(jù)分析問題打下良好的基礎(chǔ)。
在利用本書學(xué)習(xí)Python數(shù)據(jù)分析知識時,建議讀者多思考、多分析、多動手實踐。當(dāng)看到一個數(shù)據(jù)分析問題時,首先要自己分析該問題,設(shè)計求解該問題的算法;然后梳理程序結(jié)構(gòu),編寫程序?qū)崿F(xiàn)算法;后運(yùn)行程序,并通過系統(tǒng)的錯誤提示或通過程序調(diào)試方法解決程序中的語法錯誤和邏輯錯誤。只有這樣,才能真正掌握利用Python進(jìn)行數(shù)據(jù)分析工作的方法,進(jìn)而在實際工作中熟練運(yùn)用相關(guān)知識解決具體問題。另外,豐富的第三方工具包是Python語言的優(yōu)勢之一。在學(xué)習(xí)一個新的工具包時,首先應(yīng)掌握該工具包提供的數(shù)據(jù)類型(可以用于存儲哪些數(shù)據(jù)),再根據(jù)需要掌握常用的數(shù)據(jù)操作方法(可以對數(shù)據(jù)做哪些操作)。我們在做系統(tǒng)設(shè)計時亦是如此,先確定系統(tǒng)中涉及的數(shù)據(jù),再考慮可以對這些數(shù)據(jù)進(jìn)行哪些操作。
本書的特色有以下幾點:
1)問題導(dǎo)向,通過大量程序?qū)嵗棺x者更直觀地理解Python數(shù)據(jù)分析的方法和過程。
2)重點/難點突出,通過大量提示向讀者詳細(xì)說明學(xué)習(xí)過程中需重點掌握或不容易理解的內(nèi)容。
3)知識系統(tǒng)完整,對涉及的每個知識點都給出了詳細(xì)介紹,更加適合初學(xué)者作為教材或開發(fā)人員作為參考手冊。
本書共分為8章,各章內(nèi)容的簡單介紹如下。
第1章首先介紹數(shù)據(jù)分析的基本概念和基本流程,列舉了一些應(yīng)用場景,使讀者認(rèn)識數(shù)據(jù)分析在實際應(yīng)用中的重要意義。接下來,通過一個程序示例幫助讀者理解數(shù)據(jù)分析的基本流程。然后,結(jié)合上機(jī)操作指導(dǎo)和程序?qū)嵗喴榻B數(shù)據(jù)分析領(lǐng)域廣泛使用的Python程序設(shè)計語言的知識,包括Anaconda集成平臺和Jupyter Notebook開發(fā)環(huán)境的使用方法,以及內(nèi)置數(shù)據(jù)類型、程序的控制結(jié)構(gòu)、模塊化、面向?qū)ο蟆⑽募僮、異常處理等。后,提供兩個簡單的包/模塊使用示例。個例子利用csv模塊完成CSV文件的讀/寫操作;第二個例子利用random模塊實現(xiàn)生成隨機(jī)數(shù)的功能和利用time模塊實現(xiàn)時間處理的功能,并給出排序時間隨問題規(guī)模(即待排序元素數(shù)量)變化的實驗。
第2章首先介紹NumPy中用于存儲數(shù)組數(shù)據(jù)的ndarray類,通過對列表與ndarray的排序和求和時間的比較分析,討論了ndarray在大數(shù)據(jù)分析中的優(yōu)勢,并依次介紹ndarray類對象的常用屬性和創(chuàng)建方法。然后,介紹利用tushare工具包獲取該章實例所使用的股票數(shù)據(jù)的方法,并介紹如何利用NumPy提供的loadtxt和savetxt函數(shù)完成CSV文件的讀寫操作。后,結(jié)合獲取的股票數(shù)據(jù),通過實例詳細(xì)介紹索引和切片、數(shù)據(jù)拷貝、數(shù)據(jù)處理和高級索引等方面的知識,使讀者能夠更好地掌握NumPy的應(yīng)用方法。
第3章首先介紹Pandas中常用的數(shù)據(jù)結(jié)構(gòu)Series類和DataFrame類,以及軸標(biāo)簽的數(shù)據(jù)結(jié)構(gòu)Index類,并通過代碼實例詳細(xì)地介紹它們的常用對象屬性和創(chuàng)建方法。然后,詳細(xì)介紹Series和DataFrame的多種元素訪問方式,包括屬性運(yùn)算符訪問、索引運(yùn)算符訪問、loc和iloc方法、at和iat方法、head和tail方法等。在此基礎(chǔ)上,介紹Pandas提供的數(shù)據(jù)清洗方法、常用的數(shù)據(jù)合并方法(merge、join和concat等),以及等常用的數(shù)據(jù)重塑方法(pivot和melt等)。后通過實例詳細(xì)介紹利用Pandas工具包進(jìn)行數(shù)據(jù)清洗、數(shù)據(jù)預(yù)處理、數(shù)據(jù)重塑的操作過程,使讀者能夠更好地掌握Pandas的應(yīng)用方法。
第4章首先介紹Pandas中用于基本統(tǒng)計分析的相關(guān)函數(shù),并依次介紹分組分析、分布分析、交叉分析、結(jié)構(gòu)分析和相關(guān)分析的
前言
第1章 基礎(chǔ)知識1
1.1 數(shù)據(jù)分析簡介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 排序時間測試20
1.4 本章小結(jié)24
1.5 習(xí)題25
第2章 科學(xué)計算基礎(chǔ)工具包NumPy27
2.1 ndarray類27
2.1.1 為什么使用ndarray28
2.1.2 ndarray類對象的常用屬性30
2.1.3 創(chuàng)建ndarray類對象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 高級索引58
2.7 本章小結(jié)62
2.8 習(xí)題63
第3章 數(shù)據(jù)分析工具庫Pandas66
3.1 Series類66
3.1.1 Series對象的常用屬性66
3.1.2 創(chuàng)建Series對象67
3.2 DataFrame對象69
3.2.1 DataFrame對象的常用屬性70
3.2.2 創(chuàng)建DataFrame對象72
3.3 Index對象74
3.3.1 Index對象的常用屬性74
3.3.2 創(chuàng)建Index對象74
3.4 元素訪問方式75
3.4.1 屬性運(yùn)算符訪問76
3.4.2 索引運(yùn)算符訪問77
3.4.3 loc訪問方法81
3.4.4 iloc訪問方法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ù)處理實例106
3.8.1 藥品銷售數(shù)據(jù)處理實例106
3.8.2 流感與人口數(shù)據(jù)處理實例110
3.9 本章小結(jié)113
3.10 習(xí)題114
第4章 數(shù)據(jù)統(tǒng)計分析119
4.1 基本統(tǒng)計分析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)用實例131
4.8 本章小結(jié)133
4.9 習(xí)題133
第5章 時間序列分析135
5.1 Datetime模塊135
5.2 時間序列基礎(chǔ)137
5.3 日期時間處理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 散點圖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)用實例177
6.5 本章小結(jié)182
6.6 習(xí)題183
第7章 網(wǎng)絡(luò)爬蟲187
7.1 網(wǎng)絡(luò)數(shù)據(jù)獲取187
7.2 數(shù)據(jù)文件操作196
7.3 應(yīng)用實例203
7.4 本章小結(jié)208
7.5 習(xí)題208
第8章 MySQL數(shù)據(jù)庫操作210
8.1 MySQL簡介210
8.2 MySQL的安裝211
8.3 連接、讀取和存儲214
8.3.1 創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表214
8.3.2 Python連接數(shù)據(jù)庫217
8.3.3 Python讀取數(shù)據(jù)庫218
8.3.4 Python存儲數(shù)據(jù)庫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)用實例227
8.6 本章小結(jié)233
8.7 習(xí)題233
附錄 NumPy通用函數(shù)235
參考文獻(xiàn)238