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