数据分析(Data Analysis)
數據分析
- 一、數據分析——基礎
- 1.什么是數據分析
- 1.1數據分析的概念
- 1.2數據分析的應用
- 1.3數據分析方法
- 1.3.1對比分析
- 1.3.2同比分析
- 1.3.3環比分析
- 1.3.4 80/20分析
- 1.3.5 回歸分析
- 1.3.6 聚類分析
- 1.3.7時間序列分析
- 1.4數據分析工具
- 1.5數據分析流程
- 二、數據分析——numpy
- 2.1numpy概述
- 2.1.1numpy介紹
- 2.2數據預處理
- 2.2.1數據讀寫
- 2.2.1.1數據存儲
- 2.2.1.ndarray數組對象
- 2.2.1.3ndarry與標量之間的運算
- 2.2.1.4數據讀取
- 2.2.2數據篩選
- 2.2.2.1解決數據不完整 ——>數據組合
- 2.2.2.2解決數據冗余 ——>數據截取
- 2.2.2.3解決數據冗余——> 去除數據集中重復的數據
- 2.2.3數據清洗
- 2.2.3.1數據刪除
- 2.2.3.2條件查找
- 2.3科學計算
- 2.3.1科學計算概述
- 2.3.2計算函數
- 2.3.3矩陣乘法
- 2.3.4矩陣其他計算函數
- 2.4生成數據集
- 2.4.1數據集生成概述
- 2.4.2Random函數
- 2.4.3linspace函數
- 2.5擴展
- 2.5.1改變數組的維度
- 2.5.2保存文件
- 2.5.3數組的排序
- 2.5.4數組的分割
- 2.5.5 數組迭代
- 三、數據分析——pandas
- 3.1pandas概述
- 3.2數據讀寫
- 3.2.1數據讀寫概述
- 3.2.2 數據讀取
- 3.2.3 寫入文件csv
- 3.2.4數據庫數據的讀寫
- 3.2.4.1 數據庫讀取概述
- 3.2.4.2 數據庫寫入
- 3.2.4.3 數據庫讀取
- 3.3數據結構
- 3.3.1 Series對象
- 3.3.2 Series對象概述
- 3.3.2 DataFrame對象
- 3.3.2.1 DataFrame對象概述
- 3.3.2.2 DataFrame數組對象創建
- 3.3.2.3 DataFrame常用屬性
- 3.3pandas數據預處理
- 3.3.1pandas數據增加、刪除、修改
- 3.3.1.1 數據查找
- 3.3.1.2 數據刪除
- 3.3.1.3 數據的添加
- 3.3.1.4 數據的修改和查找
- 3.3.1.5 數據的合并
- 3.3.2pandas數據清洗
- 3.3.3pandas數據轉換
- 四、數據分析——Matplotlib
- 五、數據分析——統計分析方法
- 六、數據分析——scikit-learn
一、數據分析——基礎
1.什么是數據分析
1.1數據分析的概念
- 數據分析就是利用數學、統計學理論相結合科學統計分析方法對數據庫中的數據、Excel數據、收集的大量數據、網頁抓取的數據進行分析,從中提取有價值的信息形成結論并進行展示的過程。
- 數據分析的目的在于將隱藏在一大堆看似雜亂無章的數據背后,將有用的信息提取出來,總結出數據的內在規律,以幫助在實際工作中的管理者做出決策和判斷。
1.2數據分析的應用
- 互聯網行業
通過數據分析可以根據客戶意向進行商品推薦以及針對性廣告等。例如,我們熟悉的淘寶
- 醫學方面
智能醫療、健康指數評估以及DNA對比等。
例如,我們熟悉的手環、體脂稱
- 網絡安全方面
通過數據分析建立一個潛在攻擊性的分析模型,監測大量的網絡訪問數據與訪問行為,可以快速識別出可疑網絡的訪問,起到有效的防御作用 - 交通方面
根據交通狀況數據與GPS定位系統有效的預測交通實時路況信息 - 通信方面
數據分析可以統計騷擾電話進行騷擾電話的攔截與黑名單的設置 - 個人生活
數據分析可以對個人喜好、生活習慣等進行分類,為其提供更加周到的個性化服務
1.3數據分析方法
數據分析是從數據中提取有價值信息的過程,過程中需要對數據進行各種處理和歸類,只有掌握了正確的數據分析方法,才能起到事半功倍的效。
- 統計分析類:對比分析法、同比分析、環比分析、定比分析、差異分析、結構分析、因素分析、80/20分析
- 高級分析類:回歸分析法、聚類分析法、相關分析法、矩陣分析法、判別分析法、主成分分析法、因子分析法、對應分析法、時間序列分析
- 數據挖掘類:機器學習、數據倉庫等復合技術為主。
1.3.1對比分析
對比分析法是把客觀事物加以比較,以達到認識事物的本質和規律并做出正確的評價。對比分析法通常是把兩個相互聯系的指標數據進行比較,從數量上展示和說明研究對象規模的大小,水平的高低,速度的快慢,以及各種關系是否協調。
1.3.2同比分析
- 同比分析就是按照時間如年度、季度、月份、日期等進行擴展,用本期實際發生數與同期歷史發生數相比,產生動態相對指標,用以揭示發展水平以及增長速度。
- 同比分析主要是為了消除季節變動的影響,用以說明本期水平與去年同期水平對比而達到的相對值。
1.3.3環比分析
環比分析是報告期水平與前一時期水平之比,表明現象逐期的變化趨勢。如果計算一年內各月與前一個月對比,即1月比去年12月,2月比1月,3月比2月,4月比3月,5月比4月,6月比5月,說明逐月的變化程度,如圖1所示,環比增長趨勢如圖2所示
1.3.4 80/20分析
80/20分析,又稱二八法則、帕累托法則、帕累托定律、最省力法則或不平衡原則。該法則是由意大利經濟學家帕累托提出的。二八法則認為:原因和結果、投入和產出、努力和報酬之間本來存在著無法解釋的不平衡。
1.3.5 回歸分析
回歸分析多用于統計分析和預測。它是研究變量之間相關關系以及相互影響程度,通過建立自變量和因變量的方程,研究某個因素受其他因素影響的程度或用來預測。回歸分析包括:線性和非線性回歸、一元和多元回歸。常用的回歸是一元線性回歸和多元線性回歸
1.3.6 聚類分析
聚類分析多用于人群分類,客戶分類。所謂聚類是一個將數據集中在某些方面相似的數據成員進行分類組織的過程
1.3.7時間序列分析
時間序列分析多用于統計和預測。它是按照時間的順序把隨機事件變化發展的過程記錄下來,就構成了一個時間序列。時間序列分析就是對時間序列進行觀察、研究、找出它的變化和發展規律,預測將來的走勢
1.4數據分析工具
數據分析師要求前3的主要技能是:SQL、Python、Excel。
- Excel是常用的數據分析工具,可以實現基本的數據分析工作,但在數據量較大,公式嵌套很多的情況下,Excel處理起來會很麻煩而且處理速度也會變慢。此時,Python可作為首選,因為Python提供了大量的第三方擴展庫,如Numpy、Scipy、Matplotlib、Pandas、Scikit-Learn、Keras和Gensim等,這些庫不僅可以對數據進行處理、挖掘、可視化展示,其自帶的分析方法模型也使得數據分析變得簡單高效,只需編寫少量的代碼就可以得到分析結果。
1.5數據分析流程
二、數據分析——numpy
2.1numpy概述
2.1.1numpy介紹
- numpy=Numeric Python
- 用Python進行科學(數值)計算的基礎庫
- 擁有快速高效的數組
- 提供高性能數組
2.2數據預處理
2.2.1數據讀寫
2.2.1.1數據存儲
- ndarray=n-dimensional array object
- Numpy用于存儲單一數據類型的數組對象
- 為什么不用Python的數據類型(如列表、字典)存儲數據?
2.2.1.ndarray數組對象
- ndarray 是一個多維的數組對象,具有矢量算術運算能力和復雜的廣播能力,并具有執行速度快和節省空間的特點。
- ndarray 的一個特點是同構:即其中所有元素的類型必須相同。
- ndarray數據類型:
- 數組對象的創建:
- ndarray的屬性:
2.2.1.3ndarry與標量之間的運算
- arr=np.array()
- arr*arr
- arr-arr
- 1/arr
- arr*5
- 例如:
運算結果:
2.2.1.4數據讀取
import numpy as np data=np.loadtxt("BeijingPM2.5.csv",delimiter=",",skiprows=1,dtype=float)2.2.2數據篩選
原始樣本數據可能出現的問題:
2.2.2.1解決數據不完整 ——>數據組合
有些數據是分布在不同文件中的,需要垂直組合到一起:
- 方法1:np.vstack((data1,data2))
- 方法2:np.row_stack((data1,data2))
有些數據的特征分布在不同文件中,需要水平組合到一起:
- 方法1:np.hstack((data1,data2))
- 方法2:np.column_stack((data1,data2))
2.2.2.2解決數據冗余 ——>數據截取
-
索引:
確定元素的位置;
行,列使用逗號間隔; -
例一:獲取第1行數據
-
例二:獲取第3-5行數據
-
例三:獲取第4行第5列數據
-
切片:
抽取某個范圍內的數據;
起止位置用冒號隔開; -
例一:獲取前三行數據
- 例二:獲取第2-4行,3-5列的數據
- 例三:獲取2-5列數據
2.2.2.3解決數據冗余——> 去除數據集中重復的數據
- 刪除重復的行:
data = np.unique(data,axis=0)
- 刪除重復的列:
data = np.unique(data,axis=1)
2.2.3數據清洗
2.2.3.1數據刪除
- 刪除任意的行和列:
2.2.3.2條件查找
2.3科學計算
2.3.1科學計算概述
2.3.2計算函數
2.3.3矩陣乘法
- 例子:
2.3.4矩陣其他計算函數
2.4生成數據集
2.4.1數據集生成概述
2.4.2Random函數
- 例子:
2.4.3linspace函數
- 例:
2.5擴展
2.5.1改變數組的維度
2.5.2保存文件
2.5.3數組的排序
2.5.4數組的分割
2.5.5 數組迭代
三、數據分析——pandas
3.1pandas概述
- Pandas = Python Data Analysis Library
- 基于NumPy 的一種工具,該工具是為了解決數據分析任務而創建
- 一個強大的Python數據分析的工具包
- 提供了大量能使我們快速便捷地處理數據的函數和方法
3.2數據讀寫
3.2.1數據讀寫概述
3.2.2 數據讀取
- 例:讀取xls
- 例:讀取csv
3.2.3 寫入文件csv
3.2.4數據庫數據的讀寫
3.2.4.1 數據庫讀取概述
3.2.4.2 數據庫寫入
3.2.4.3 數據庫讀取
3.3數據結構
3.3.1 Series對象
3.3.2 Series對象概述
3.3.2 DataFrame對象
3.3.2.1 DataFrame對象概述
3.3.2.2 DataFrame數組對象創建
3.3.2.3 DataFrame常用屬性
3.3pandas數據預處理
3.3.1pandas數據增加、刪除、修改
3.3.1.1 數據查找
- 使用字典訪問key
- 使用切片loc
- 使用表達式
3.3.1.2 數據刪除
- 使用drop方法
3.3.1.3 數據的添加
- 新建列索引
3.3.1.4 數據的修改和查找
3.3.1.5 數據的合并
3.3.2pandas數據清洗
3.3.3pandas數據轉換
四、數據分析——Matplotlib
五、數據分析——統計分析方法
六、數據分析——scikit-learn
總結
以上是生活随笔為你收集整理的数据分析(Data Analysis)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 非平稳序列的确定性分析
- 下一篇: 《人人都是产品经理》——第一章笔记