目錄
第一章? ?數(shù)據(jù)分析簡(jiǎn)介
第二章? ?數(shù)據(jù)獲取
第三章? ?單因子探索分析
參考資料
?
第一章? ?數(shù)據(jù)分析簡(jiǎn)介
?
1-1、數(shù)據(jù)分析流程
A 數(shù)據(jù)獲取
B 探索分析與可視化(報(bào)表)
C 預(yù)處理理論(去除臟數(shù)據(jù)) ??
D 分析建模
E 模型評(píng)估
其中,CDE 為數(shù)據(jù)建模與挖掘 【核心內(nèi)容】
?
1-2、前置知識(shí)
前置知識(shí):Python3,Python數(shù)據(jù)分析-基礎(chǔ)技術(shù)篇;數(shù)學(xué);
編譯環(huán)境:Python3.6+,Pycharm,Anaconda
?
1-3、數(shù)據(jù)分析概述
數(shù)據(jù)分析的含義與目標(biāo):統(tǒng)計(jì)分析方法,提取有用信息,并進(jìn)行總結(jié)與概括的過(guò)程
?
1-4、使用Python進(jìn)行數(shù)據(jù)分析
開(kāi)發(fā)效率高、運(yùn)行速度慢、膠水語(yǔ)言(比如嵌入C語(yǔ)言配合使用)
?
1-5、數(shù)據(jù)分析學(xué)習(xí)方法
A 重視理論
B 勤于查閱
C 身體力行
D 聯(lián)系實(shí)際
?
第二章? ?數(shù)據(jù)獲取
2-1、數(shù)據(jù)獲取手段
A 數(shù)據(jù)倉(cāng)庫(kù)
B 監(jiān)測(cè)與抓取
C 填寫(xiě)、日志、埋點(diǎn)
D 計(jì)算
?
2-2、數(shù)據(jù)倉(cāng)庫(kù)(DW)
1、概念:數(shù)據(jù)載體,業(yè)務(wù)數(shù)據(jù)匯總處理
(1)全部事實(shí)的記錄
(2)部分維度與數(shù)據(jù)的整理(數(shù)據(jù)集市-DM)
2、數(shù)據(jù)庫(kù) VS 倉(cāng)庫(kù)
(1)數(shù)據(jù)庫(kù)面向業(yè)務(wù)存儲(chǔ)(保證高并發(fā)、快速讀寫(xiě)、數(shù)據(jù)結(jié)構(gòu)精簡(jiǎn)),倉(cāng)庫(kù)面向主題存儲(chǔ)(主題:較高層次上對(duì)分析對(duì)象數(shù)據(jù)的一個(gè)完整并且一直的描述,比如購(gòu)買(mǎi)圖書(shū)發(fā)展的多維度存儲(chǔ)信息)
(2)數(shù)據(jù)庫(kù)針對(duì)應(yīng)用(OLTP,聯(lián)機(jī)事務(wù)處理),倉(cāng)庫(kù)針對(duì)分析(OLAP,聯(lián)機(jī)數(shù)據(jù)處理)
(3)數(shù)據(jù)庫(kù)組織規(guī)范,倉(cāng)庫(kù)可能冗余,相對(duì)變化大,數(shù)據(jù)量大
?
2-3、監(jiān)測(cè)與抓取
1、直接解析網(wǎng)頁(yè)、接口、文件的信息
2、Python常用工具:
urllib、urllib2、requests、scrapy
PhantomJS、beautifulSoup、Xpath(lxml)
?
2-4、填寫(xiě)、日志、埋點(diǎn)
1、用戶填寫(xiě)信息
2、APP或網(wǎng)頁(yè)埋點(diǎn)(特定流程的信息記錄點(diǎn))
3、操作日志:文件、匯總到數(shù)據(jù)倉(cāng)庫(kù)
?
2-5、計(jì)算
通過(guò)已有數(shù)據(jù)計(jì)算生成衍生數(shù)據(jù),例如:統(tǒng)計(jì)報(bào)表某些項(xiàng)目
2-6、數(shù)據(jù)學(xué)習(xí)網(wǎng)站
1、數(shù)據(jù)競(jìng)賽網(wǎng)站(Kaggle & 阿里云-天池)
2、數(shù)據(jù)集網(wǎng)站(ImageNet / Open Images)
3、各領(lǐng)域統(tǒng)計(jì)數(shù)據(jù)(統(tǒng)計(jì)局、政府機(jī)構(gòu)、公司財(cái)報(bào)等)
?
第三章? ?單因子探索分析
3-1 數(shù)據(jù)案例介紹
HR.csv
import pandas as pd
df = pd.read_csv("./data/HR.csv")?? ?# 讀取csv文件
df.head(10)?? ??? ??? ?# 讀取前10條數(shù)據(jù)
3-2 集中趨勢(shì)、離中趨勢(shì)
集中趨勢(shì):均值、中位數(shù)與分位數(shù)、眾數(shù)
離中趨勢(shì):標(biāo)準(zhǔn)差、方差
數(shù)據(jù)分布:偏態(tài)與峰態(tài)、正太分布與三大分布
抽樣理論:抽樣誤差、抽樣精度
四分位數(shù)計(jì)算方法,n 是數(shù)列的數(shù)量
Q1的位置=(n+1)* 0.25
Q2的位置=(n+1)* 0.5
Q3的位置=(n+1)* 0.75
3-3 數(shù)據(jù)分布:偏態(tài)與峰度
偏態(tài)系數(shù)與峰態(tài)系數(shù)
均值偏大(對(duì)比中位數(shù)):正偏
正態(tài)分布與三大分布(卡方分布、T分布、F分布)
標(biāo)準(zhǔn)正態(tài)分布:均值為0,方差為1
卡方分布:幾個(gè)標(biāo)準(zhǔn)正態(tài)分布的平方和滿足一個(gè)分布,這個(gè)分布就是卡方分布
T分布:正態(tài)分布的一個(gè)隨機(jī)變量除以一個(gè)服從卡方分布的變量
F分布:兩個(gè)卡方分布的比構(gòu)成的
3-4 抽樣理論
抽樣誤差與精度
?
3-5 代碼實(shí)例
以下代碼由Python Console (Pycharm) 實(shí)現(xiàn), 也可用Anacoda 或??Jupyter and the future of? IPython ?—? IPython ?編程
注: 紅色 代碼 為代碼實(shí)現(xiàn),?? 黑色 為控制臺(tái)提示信息或者代碼執(zhí)行結(jié)果?
?
Python 3.5.0 (v3.5.0:374f501f4567, Sep 13 2015, 02:16:59) [MSC v.1900 32 bit (Intel)] on win32
>>> import pandas as pd
>>> df = pd.read_csv('./data/HR.csv')? ? ? # 讀取csv文件
>>> df
? ? ? ?satisfaction_level ?last_evaluation ?... ?department ?salary
0 ? ? ? ? ? ? ? ? ? ?0.38 ? ? ? ? ? ? 0.53 ?... ? ? ? sales ? ? low
1 ? ? ? ? ? ? ? ? ? ?0.80 ? ? ? ? ? ? 0.86 ?... ? ? ? sales ?medium
2 ? ? ? ? ? ? ? ? ? ?0.11 ? ? ? ? ? ? 0.88 ?... ? ? ? sales ?medium
3 ? ? ? ? ? ? ? ? ? ?0.72 ? ? ? ? ? ? 0.87 ?... ? ? ? sales ? ? low
4 ? ? ? ? ? ? ? ? ? ?0.37 ? ? ? ? ? ? 0.52 ?... ? ? ? sales ? ? low
5 ? ? ? ? ? ? ? ? ? ?0.41 ? ? ? ? ? ? 0.50 ?... ? ? ? sales ? ? low
6 ? ? ? ? ? ? ? ? ? ?0.10 ? ? ? ? ? ? 0.77 ?... ? ? ? sales ? ? low
7 ? ? ? ? ? ? ? ? ? ?0.92 ? ? ? ? ? ? 0.85 ?... ? ? ? sales ? ? low
8 ? ? ? ? ? ? ? ? ? ?0.89 ? ? ? ? ? ? 1.00 ?... ? ? ? sales ? ? low
9 ? ? ? ? ? ? ? ? ? ?0.42 ? ? ? ? ? ? 0.53 ?... ? ? ? sales ? ? low
10 ? ? ? ? ? ? ? ? ? 0.45 ? ? ? ? ? ? 0.54 ?... ? ? ? sales ? ? low
11 ? ? ? ? ? ? ? ? ? 0.11 ? ? ? ? ? ? 0.81 ?... ? ? ? sales ? ? low
12 ? ? ? ? ? ? ? ? ? 0.84 ? ? ? ? ? ? 0.92 ?... ? ? ? sales ? ? low
13 ? ? ? ? ? ? ? ? ? 0.41 ? ? ? ? ? ? 0.55 ?... ? ? ? sales ? ? low
14 ? ? ? ? ? ? ? ? ? 0.36 ? ? ? ? ? ? 0.56 ?... ? ? ? sales ? ? low
15 ? ? ? ? ? ? ? ? ? 0.38 ? ? ? ? ? ? 0.54 ?... ? ? ? sales ? ? low
16 ? ? ? ? ? ? ? ? ? 0.45 ? ? ? ? ? ? 0.47 ?... ? ? ? sales ? ? low
17 ? ? ? ? ? ? ? ? ? 0.78 ? ? ? ? ? ? 0.99 ?... ? ? ? sales ? ? low
18 ? ? ? ? ? ? ? ? ? 0.45 ? ? ? ? ? ? 0.51 ?... ? ? ? sales ? ? low
19 ? ? ? ? ? ? ? ? ? 0.76 ? ? ? ? ? ? 0.89 ?... ? ? ? sales ? ? low
20 ? ? ? ? ? ? ? ? ? 0.11 ? ? ? ? ? ? 0.83 ?... ? ? ? sales ? ? low
21 ? ? ? ? ? ? ? ? ? 0.38 ? ? ? ? ? ? 0.55 ?... ? ? ? sales ? ? low
22 ? ? ? ? ? ? ? ? ? 0.09 ? ? ? ? ? ? 0.95 ?... ? ? ? sales ? ? low
23 ? ? ? ? ? ? ? ? ? 0.46 ? ? ? ? ? ? 0.57 ?... ? ? ? sales ? ? low
24 ? ? ? ? ? ? ? ? ? 0.40 ? ? ? ? ? ? 0.53 ?... ? ? ? sales ? ? low
25 ? ? ? ? ? ? ? ? ? 0.89 ? ? ? ? ? ? 0.92 ?... ? ? ? sales ? ? low
26 ? ? ? ? ? ? ? ? ? 0.82 ? ? ? ? ? ? 0.87 ?... ? ? ? sales ? ? low
27 ? ? ? ? ? ? ? ? ? 0.40 ? ? ? ? ? ? 0.49 ?... ? ? ? sales ? ? low
28 ? ? ? ? ? ? ? ? ? 0.41 ? ? ? ? ? ? 0.46 ?... ?accounting ? ? low
29 ? ? ? ? ? ? ? ? ? 0.38 ? ? ? ? ? ? 0.50 ?... ?accounting ? ? low
? ? ? ? ? ? ? ? ? ?... ? ? ? ? ? ? ?... ?... ? ? ? ? ... ? ? ...
14972 ? ? ? ? ? ? ? ?0.11 ? ? ? ? ? ? 0.97 ?... ?accounting ?medium
14973 ? ? ? ? ? ? ? ?0.36 ? ? ? ? ? ? 0.52 ?... ?accounting ?medium
14974 ? ? ? ? ? ? ? ?0.36 ? ? ? ? ? ? 0.54 ?... ?accounting ?medium
14975 ? ? ? ? ? ? ? ?0.10 ? ? ? ? ? ? 0.79 ?... ? ? ? ? ?hr ?medium
14976 ? ? ? ? ? ? ? ?0.40 ? ? ? ? ? ? 0.47 ?... ? ? ? ? ?hr ?medium
14977 ? ? ? ? ? ? ? ?0.81 ? ? ? ? ? ? 0.85 ?... ? ? ? ? ?hr ?medium
14978 ? ? ? ? ? ? ? ?0.40 ? ? ? ? ? ? 0.47 ?... ? ? ? ? ?hr ?medium
14979 ? ? ? ? ? ? ? ?0.09 ? ? ? ? ? ? 0.93 ?... ? technical ?medium
14980 ? ? ? ? ? ? ? ?0.76 ? ? ? ? ? ? 0.89 ?... ? technical ? ?high
14981 ? ? ? ? ? ? ? ?0.73 ? ? ? ? ? ? 0.93 ?... ? technical ? ? low
14982 ? ? ? ? ? ? ? ?0.38 ? ? ? ? ? ? 0.49 ?... ? technical ?medium
14983 ? ? ? ? ? ? ? ?0.72 ? ? ? ? ? ? 0.84 ?... ? technical ?medium
14984 ? ? ? ? ? ? ? ?0.40 ? ? ? ? ? ? 0.56 ?... ? technical ?medium
14985 ? ? ? ? ? ? ? ?0.91 ? ? ? ? ? ? 0.99 ?... ? technical ?medium
14986 ? ? ? ? ? ? ? ?0.85 ? ? ? ? ? ? 0.85 ?... ? technical ? ? low
14987 ? ? ? ? ? ? ? ?0.90 ? ? ? ? ? ? 0.70 ?... ? technical ? ? low
14988 ? ? ? ? ? ? ? ?0.46 ? ? ? ? ? ? 0.55 ?... ? technical ? ? low
14989 ? ? ? ? ? ? ? ?0.43 ? ? ? ? ? ? 0.57 ?... ? technical ? ? low
14990 ? ? ? ? ? ? ? ?0.89 ? ? ? ? ? ? 0.88 ?... ? ? support ? ? low
14991 ? ? ? ? ? ? ? ?0.09 ? ? ? ? ? ? 0.81 ?... ? ? support ? ? low
14992 ? ? ? ? ? ? ? ?0.40 ? ? ? ? ? ? 0.48 ?... ? ? support ? ? low
14993 ? ? ? ? ? ? ? ?0.76 ? ? ? ? ? ? 0.83 ?... ? ? support ? ? low
14994 ? ? ? ? ? ? ? ?0.40 ? ? ? ? ? ? 0.57 ?... ? ? support ? ? low
14995 ? ? ? ? ? ? ? ?0.37 ? ? ? ? ? ? 0.48 ?... ? ? support ? ? low
14996 ? ? ? ? ? ? ? ?0.37 ? ? ? ? ? ? 0.53 ?... ? ? support ? ? low
14997 ? ? ? ? ? ? ? ?0.11 ? ? ? ? ? ? 0.96 ?... ? ? support ? ? low
14998 ? ? ? ? ? ? ? ?0.37 ? ? ? ? ? ? 0.52 ?... ? ? support ? ? low
14999 ? ? ? ? ? ? ? ? NaN ? ? ? ? ? ? 0.52 ?... ? ? support ? ? low
15000 ? ? ? ? ? ? ? ? NaN ? ? ? ?999999.00 ?... ? ? ? ?sale ? ? low
15001 ? ? ? ? ? ? ? ?0.70 ? ? ? ? ? ? 0.40 ?... ? ? ? ?sale ? ? nme
[15002 rows x 10 columns]
>>> type(df)? ? ?# 檢測(cè) df 的類型
>>> type(df['satisfaction_level'])
>>> df.mean()? ? ? # 求均值
satisfaction_level ? ? ? ? 0.612839
last_evaluation ? ? ? ? ? 67.373732
number_project ? ? ? ? ? ? 3.802693
average_monthly_hours ? ?201.041728
time_spend_company ? ? ? ? 3.498067
Work_accident ? ? ? ? ? ? ?0.144581
left ? ? ? ? ? ? ? ? ? ? ? 0.238235
promotion_last_5years ? ? ?0.021264
dtype: float64
>>> df.median()? ? ?# 求中位數(shù)
satisfaction_level ? ? ? ? 0.64
last_evaluation ? ? ? ? ? ?0.72
number_project ? ? ? ? ? ? 4.00
average_monthly_hours ? ?200.00
time_spend_company ? ? ? ? 3.00
Work_accident ? ? ? ? ? ? ?0.00
left ? ? ? ? ? ? ? ? ? ? ? 0.00
promotion_last_5years ? ? ?0.00
dtype: float64
>>> df.quantile(q=0.25)? ? ?# 四分位數(shù)
satisfaction_level ? ? ? ? 0.44
last_evaluation ? ? ? ? ? ?0.56
number_project ? ? ? ? ? ? 3.00
average_monthly_hours ? ?156.00
time_spend_company ? ? ? ? 3.00
Work_accident ? ? ? ? ? ? ?0.00
left ? ? ? ? ? ? ? ? ? ? ? 0.00
promotion_last_5years ? ? ?0.00
Name: 0.25, dtype: float64
>>> df['satisfaction_level'].quantile(q=0.25)?
0.44
>>> df['satisfaction_level'].quantile(q=0.5)
0.64
>>> df['satisfaction_level'].quantile(q=0.75)
0.82
>>> df.mode()? ? ? # 眾數(shù)
? ?satisfaction_level ?last_evaluation ?... ?department ?salary
0 ? ? ? ? ? ? ? ? 0.1 ? ? ? ? ? ? 0.55 ?... ? ? ? sales ? ? low
1 ? ? ? ? ? ? ? ? NaN ? ? ? ? ? ? ?NaN ?... ? ? ? ? NaN ? ? NaN
[2 rows x 10 columns]
>>> df['department'].mode()? ?
0 ? ?sales
dtype: object
>>> type(df['department'].mode())
>>> df.sum()? ? ? # 求和
satisfaction_level ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 9192.59
last_evaluation ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1.01074e+06
number_project ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 57048
average_monthly_hours ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?3016028
time_spend_company ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 52478
Work_accident ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2169
left ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?3574
promotion_last_5years ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?319
department ? ? ? ? ? ? ? salessalessalessalessalessalessalessalessaless...
salary ? ? ? ? ? ? ? ? ? lowmediummediumlowlowlowlowlowlowlowlowlowlowl...
dtype: object
>>> df['satisfaction_level'].sum()
9192.59
>>> df['satisfaction_level'].std() ?# 標(biāo)準(zhǔn)差
0.24862338135944925
>>> df['satisfaction_level'].var() ?# 方差
0.061813585758606134
>>> df['satisfaction_level'].skew() ?# 偏態(tài)系數(shù)
-0.47643761717258093
>>> df['satisfaction_level'].kurt() ?# 峰態(tài)系數(shù)
-0.6706959323886252
?
參考資料
《Python3數(shù)據(jù)分析與建模挖掘?qū)崙?zhàn)》 ?慕課網(wǎng)實(shí)戰(zhàn)?
注:? 本博客僅作個(gè)人筆記學(xué)習(xí)、總結(jié)使用,不作任何商業(yè)用途
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
