這本書先介紹了如何使用Ppandas在Python中進行數(shù)據操作,教您熟悉統(tǒng)計分析和繪圖技術。還將通過多個實踐測試,讓您學會使用Dask分析分布在多臺計算機上的數(shù)據。接著還將為您介紹如何在內存無法容納全部數(shù)據時,為繪圖聚合數(shù)據。本書還將帶領您探索Hadoop(HDFS和YARN),它可幫助您處理更大的數(shù)據集。此外,這本書還介紹了Spark相關知識,并解釋了它如何與其他工具進行交互。
Python大數(shù)據分析是為Python開發(fā)人員、數(shù)據分析師和數(shù)據科學家設計的,他們需要親自動手控制數(shù)據并將其轉化為有影響力的見解。書中關于統(tǒng)計度量和關系數(shù)據庫的基本知識將幫助您理解在本書中的各種概念。
關于這本書
由于數(shù)據可擴展性、信息不一致性和容錯性,實時處理大數(shù)據存在一定挑戰(zhàn)性,而使用Python進行大數(shù)據分析可教會您如何使用控制數(shù)據雪崩的工具。通過這本書,您可學習到這樣的實用技術:將數(shù)據聚合為有用維度以進行后驗分析、提取統(tǒng)計測量值以及將數(shù)據集轉換為其他系統(tǒng)的特征。
這本書先介紹了如何使用Ppandas在Python中進行數(shù)據操作,教您熟悉統(tǒng)計分析和繪圖技術。還將通過多個實踐測試,讓您學會使用Dask分析分布在多臺計算機上的數(shù)據。接著還將為您介紹如何在內存無法容納全部數(shù)據時,為繪圖聚合數(shù)據。本書還將帶領您探索Hadoop(HDFS和YARN),它可幫助您處理更大的數(shù)據集。此外,這本書還介紹了Spark相關知識,并解釋了它如何與其他工具進行交互。
在本書的結尾,您將學習到如何設置自己的Python環(huán)境,處理大型文件并操作數(shù)據以生成統(tǒng)計數(shù)據、度量和圖表。
學習目標
使用Python讀取數(shù)據并將其轉換為不同的格式。
使用磁盤上的數(shù)據生成基本的統(tǒng)計數(shù)據和指標。
處理分布在集群上的計算任務。
將來自不同來源的數(shù)據轉換為存儲格式或查詢格式。
為統(tǒng)計分析、可視化和機器學習準備數(shù)據。
以視覺效果的形式呈現(xiàn)數(shù)據。
成果
使用Python進行大數(shù)據分析采用實踐方法來理解如何使用Python和Spark處理數(shù)據并從中獲得有用的東西。它包含多個使用真實業(yè)務場景的測試,讓您在高度相關的環(huán)境中練習和應用您的新技能。
讀者對象
Python大數(shù)據分析是為Python開發(fā)人員、數(shù)據分析師和數(shù)據科學家設計的,他們需要親自動手控制數(shù)據并將其轉化為有影響力的見解。書中關于統(tǒng)計度量和關系數(shù)據庫的基本知識將幫助您理解在本書中的各種概念。
第1章Python數(shù)據科學堆棧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ù)據12
1.3.2數(shù)據操作13
1.4數(shù)據類型轉換21
1.5聚合和分組24
1.6從Pandas導出數(shù)據26
1.7Pandas可視化29
1.8總結31
第2章統(tǒng)計數(shù)據可視化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總結67
第3章使用大數(shù)據框架69
3.1概述69
3.2Hadoop70
3.2.1使用HDFS操控數(shù)據71
3.3Spark數(shù)據處理平臺73
3.3.1Spark SOL以及Pandas DataFrame75
3.4Parquet文件80
3.4.1編寫Parquet文件81
3.4.2使用Parquet和Partitions提高分析性能82
3.5處理非結構化數(shù)據84
3.6總結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ù)據進行相關操作98
4.6Spark DataFrame繪制圖形106
4.7總結112
第5章處理缺失值以及相關性分析114
5.1概述114
5.2設置Jupyter Notebook115
5.3缺失值116
5.4處理Spark DataFrame中的缺失值119
5.5相關性121
5.6總結126
第6章進行探索性數(shù)據分析127
6.1概述127
6.2定義商業(yè)問題128
6.2.1問題識別129
6.2.2需求收集130
6.2.3數(shù)據管道和工作流130
6.2.4識別可測量的指標130
6.2.5文檔和展示131
6.3將商業(yè)問題轉化為可測量的度量標準和進行探索性數(shù)據分析(Exploratory Data Analysis, EDA)131
6.3.1數(shù)據采集132
6.3.2數(shù)據生成分析132
6.3.3KPI可視化133
6.3.4特征重要性133
6.4數(shù)據科學項目生命周期的結構化方法145
6.4.1階段:理解和定義業(yè)務問題146
6.4.2第二階段:數(shù)據訪問與發(fā)現(xiàn)146
6.4.3第三階段:數(shù)據工程和預處理147
6.4.4第四階段:模型開發(fā)148
6.5總結149
第7章大數(shù)據分析中的再現(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ù)據管道153
7.2.4相關性153
7.2.5使用源代碼版本控制153
7.2.6模塊化過程154
7.3以可復制的方式收集數(shù)據154
7.3.1標記單元格和代碼單元格中的功能155
7.3.2解釋標記語言中的業(yè)務問題156
7.3.3提供數(shù)據源的詳細介紹157
7.3.4解釋標記中的數(shù)據屬性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總結170
第8章創(chuàng)建完整的分析報告171
8.1概述171
8.2Spark可從不同的數(shù)據源讀取數(shù)據172
8.3在Spark DataFrame上進行SQL操作173
8.4生成統(tǒng)計測量值181
8.5總結185
附錄187