這本書(shū)先介紹了如何使用Ppandas在Python中進(jìn)行數(shù)據(jù)操作,教您熟悉統(tǒng)計(jì)分析和繪圖技術(shù)。還將通過(guò)多個(gè)實(shí)踐測(cè)試,讓您學(xué)會(huì)使用Dask分析分布在多臺(tái)計(jì)算機(jī)上的數(shù)據(jù)。接著還將為您介紹如何在內(nèi)存無(wú)法容納全部數(shù)據(jù)時(shí),為繪圖聚合數(shù)據(jù)。本書(shū)還將帶領(lǐng)您探索Hadoop(HDFS和YARN),它可幫助您處理更大的數(shù)據(jù)集。此外,這本書(shū)還介紹了Spark相關(guān)知識(shí),并解釋了它如何與其他工具進(jìn)行交互。
Python大數(shù)據(jù)分析是為Python開(kāi)發(fā)人員、數(shù)據(jù)分析師和數(shù)據(jù)科學(xué)家設(shè)計(jì)的,他們需要親自動(dòng)手控制數(shù)據(jù)并將其轉(zhuǎn)化為有影響力的見(jiàn)解。書(shū)中關(guān)于統(tǒng)計(jì)度量和關(guān)系數(shù)據(jù)庫(kù)的基本知識(shí)將幫助您理解在本書(shū)中的各種概念。
關(guān)于這本書(shū)
由于數(shù)據(jù)可擴(kuò)展性、信息不一致性和容錯(cuò)性,實(shí)時(shí)處理大數(shù)據(jù)存在一定挑戰(zhàn)性,而使用Python進(jìn)行大數(shù)據(jù)分析可教會(huì)您如何使用控制數(shù)據(jù)雪崩的工具。通過(guò)這本書(shū),您可學(xué)習(xí)到這樣的實(shí)用技術(shù):將數(shù)據(jù)聚合為有用維度以進(jìn)行后驗(yàn)分析、提取統(tǒng)計(jì)測(cè)量值以及將數(shù)據(jù)集轉(zhuǎn)換為其他系統(tǒng)的特征。
這本書(shū)先介紹了如何使用Ppandas在Python中進(jìn)行數(shù)據(jù)操作,教您熟悉統(tǒng)計(jì)分析和繪圖技術(shù)。還將通過(guò)多個(gè)實(shí)踐測(cè)試,讓您學(xué)會(huì)使用Dask分析分布在多臺(tái)計(jì)算機(jī)上的數(shù)據(jù)。接著還將為您介紹如何在內(nèi)存無(wú)法容納全部數(shù)據(jù)時(shí),為繪圖聚合數(shù)據(jù)。本書(shū)還將帶領(lǐng)您探索Hadoop(HDFS和YARN),它可幫助您處理更大的數(shù)據(jù)集。此外,這本書(shū)還介紹了Spark相關(guān)知識(shí),并解釋了它如何與其他工具進(jìn)行交互。
在本書(shū)的結(jié)尾,您將學(xué)習(xí)到如何設(shè)置自己的Python環(huán)境,處理大型文件并操作數(shù)據(jù)以生成統(tǒng)計(jì)數(shù)據(jù)、度量和圖表。
學(xué)習(xí)目標(biāo)
使用Python讀取數(shù)據(jù)并將其轉(zhuǎn)換為不同的格式。
使用磁盤(pán)上的數(shù)據(jù)生成基本的統(tǒng)計(jì)數(shù)據(jù)和指標(biāo)。
處理分布在集群上的計(jì)算任務(wù)。
將來(lái)自不同來(lái)源的數(shù)據(jù)轉(zhuǎn)換為存儲(chǔ)格式或查詢格式。
為統(tǒng)計(jì)分析、可視化和機(jī)器學(xué)習(xí)準(zhǔn)備數(shù)據(jù)。
以視覺(jué)效果的形式呈現(xiàn)數(shù)據(jù)。
成果
使用Python進(jìn)行大數(shù)據(jù)分析采用實(shí)踐方法來(lái)理解如何使用Python和Spark處理數(shù)據(jù)并從中獲得有用的東西。它包含多個(gè)使用真實(shí)業(yè)務(wù)場(chǎng)景的測(cè)試,讓您在高度相關(guān)的環(huán)境中練習(xí)和應(yīng)用您的新技能。
讀者對(duì)象
Python大數(shù)據(jù)分析是為Python開(kāi)發(fā)人員、數(shù)據(jù)分析師和數(shù)據(jù)科學(xué)家設(shè)計(jì)的,他們需要親自動(dòng)手控制數(shù)據(jù)并將其轉(zhuǎn)化為有影響力的見(jiàn)解。書(shū)中關(guān)于統(tǒng)計(jì)度量和關(guān)系數(shù)據(jù)庫(kù)的基本知識(shí)將幫助您理解在本書(shū)中的各種概念。
第1章Python數(shù)據(jù)科學(xué)堆棧1
1.1概述1
1.2Python庫(kù)和軟件包2
1.2.1IPython:一個(gè)功能強(qiáng)大的交互式shell2
1.2.2Jupyter Notebook4
1.2.3使用IPython還是Jupyter8
1.2.4Numpy9
1.2.5Scipy10
1.2.6Matplotlib10
1.2.7Pandas11
1.3使用Pandas11
1.3.1讀取數(shù)據(jù)12
1.3.2數(shù)據(jù)操作13
1.4數(shù)據(jù)類型轉(zhuǎn)換21
1.5聚合和分組24
1.6從Pandas導(dǎo)出數(shù)據(jù)26
1.7Pandas可視化29
1.8總結(jié)31
第2章統(tǒng)計(jì)數(shù)據(jù)可視化33
2.1概述33
2.2可視化圖表34
2.3圖表的組件36
2.4Seaborn40
2.5圖的類型41
2.5.1折線圖(Line graph)42
2.5.2散點(diǎn)圖(Scatter plot)45
2.5.3直方圖(Histogram)48
2.5.4箱線圖(Boxplot)51
2.6Pandas DataFrame54
2.7修改圖的組件57
2.7.1配置軸對(duì)象的標(biāo)題和標(biāo)簽57
2.7.2修改線條顏色和樣式60
2.7.3修改圖的大小60
2.8導(dǎo)出圖像63
2.9總結(jié)67
第3章使用大數(shù)據(jù)框架69
3.1概述69
3.2Hadoop70
3.2.1使用HDFS操控?cái)?shù)據(jù)71
3.3Spark數(shù)據(jù)處理平臺(tái)73
3.3.1Spark SOL以及Pandas DataFrame75
3.4Parquet文件80
3.4.1編寫(xiě)Parquet文件81
3.4.2使用Parquet和Partitions提高分析性能82
3.5處理非結(jié)構(gòu)化數(shù)據(jù)84
3.6總結(jié)87
第4章Spark DataFrame89
4.1概述89
4.2使用Spark DataFrame使用方法90
4.3從Spark DataFrame中寫(xiě)入輸出94
4.4探索和了解Spark DataFrame更多特點(diǎn)95
4.5使用Spark DataFrame對(duì)數(shù)據(jù)進(jìn)行相關(guān)操作98
4.6Spark DataFrame繪制圖形106
4.7總結(jié)112
第5章處理缺失值以及相關(guān)性分析114
5.1概述114
5.2設(shè)置Jupyter Notebook115
5.3缺失值116
5.4處理Spark DataFrame中的缺失值119
5.5相關(guān)性121
5.6總結(jié)126
第6章進(jìn)行探索性數(shù)據(jù)分析127
6.1概述127
6.2定義商業(yè)問(wèn)題128
6.2.1問(wèn)題識(shí)別129
6.2.2需求收集130
6.2.3數(shù)據(jù)管道和工作流130
6.2.4識(shí)別可測(cè)量的指標(biāo)130
6.2.5文檔和展示131
6.3將商業(yè)問(wèn)題轉(zhuǎn)化為可測(cè)量的度量標(biāo)準(zhǔn)和進(jìn)行探索性數(shù)據(jù)分析(Exploratory Data Analysis, EDA)131
6.3.1數(shù)據(jù)采集132
6.3.2數(shù)據(jù)生成分析132
6.3.3KPI可視化133
6.3.4特征重要性133
6.4數(shù)據(jù)科學(xué)項(xiàng)目生命周期的結(jié)構(gòu)化方法145
6.4.1階段:理解和定義業(yè)務(wù)問(wèn)題146
6.4.2第二階段:數(shù)據(jù)訪問(wèn)與發(fā)現(xiàn)146
6.4.3第三階段:數(shù)據(jù)工程和預(yù)處理147
6.4.4第四階段:模型開(kāi)發(fā)148
6.5總結(jié)149
第7章大數(shù)據(jù)分析中的再現(xiàn)性150
7.1概述150
7.2Jupyter Notebooks的再現(xiàn)性151
7.2.1業(yè)務(wù)問(wèn)題介紹152
7.2.2記錄方法和工作流程152
7.2.3數(shù)據(jù)管道153
7.2.4相關(guān)性153
7.2.5使用源代碼版本控制153
7.2.6模塊化過(guò)程154
7.3以可復(fù)制的方式收集數(shù)據(jù)154
7.3.1標(biāo)記單元格和代碼單元格中的功能155
7.3.2解釋標(biāo)記語(yǔ)言中的業(yè)務(wù)問(wèn)題156
7.3.3提供數(shù)據(jù)源的詳細(xì)介紹157
7.3.4解釋標(biāo)記中的數(shù)據(jù)屬性157
7.4進(jìn)行編碼實(shí)踐和標(biāo)準(zhǔn)編寫(xiě)162
7.4.1環(huán)境文件162
7.4.2編寫(xiě)帶有注釋的可讀代碼162
7.4.3工作流程的有效分割163
7.4.4工作流文檔163
7.5避免重復(fù)167
7.5.1使用函數(shù)和循環(huán)優(yōu)化代碼168
7.5.2為代碼/算法重用開(kāi)發(fā)庫(kù)/包169
7.6總結(jié)170
第8章創(chuàng)建完整的分析報(bào)告171
8.1概述171
8.2Spark可從不同的數(shù)據(jù)源讀取數(shù)據(jù)172
8.3在Spark DataFrame上進(jìn)行SQL操作173
8.4生成統(tǒng)計(jì)測(cè)量值181
8.5總結(jié)185
附錄187