『壹』 數據分析員用python做數據分析是怎麼回事,需要用到python中的那些內容,具體是怎麼操作的
最近,Analysis with Programming加入了Planet Python。我這里來分享一下如何通過Python來開始數據分析。具體內容如下:
數據導入
導入本地的或者web端的CSV文件;
數據變換;
數據統計描述;
假設檢驗
單樣本t檢驗;
可視化;
創建自定義函數。
數據導入
1
這是很關鍵的一步,為了後續的分析我們首先需要導入數據。通常來說,數據是CSV格式,就算不是,至少也可以轉換成CSV格式。在Python中,我們的操作如下:
import pandas as pd
# Reading data locally
df = pd.read_csv('/Users/al-ahmadgaidasaad/Documents/d.csv')
# Reading data from web
data_url = "https://raw.githubusercontent.com/alstat/Analysis-with-Programming/master/2014/Python/Numerical-Descriptions-of-the-Data/data.csv"
df = pd.read_csv(data_url)
為了讀取本地CSV文件,我們需要pandas這個數據分析庫中的相應模塊。其中的read_csv函數能夠讀取本地和web數據。
數據變換
1
既然在工作空間有了數據,接下來就是數據變換。統計學家和科學家們通常會在這一步移除分析中的非必要數據。我們先看看數據(下圖)
對R語言程序員來說,上述操作等價於通過print(head(df))來列印數據的前6行,以及通過print(tail(df))來列印數據的後6行。當然Python中,默認列印是5行,而R則是6行。因此R的代碼head(df, n = 10),在Python中就是df.head(n = 10),列印數據尾部也是同樣道理
9
plt.show(sns.lmplot("Benguet", "Ifugao", df))
創建自定義函數
在Python中,我們使用def函數來實現一個自定義函數。例如,如果我們要定義一個兩數相加的函數,如下即可:
def add_2int(x, y):
return x + y
print add_2int(2, 2)
# OUTPUT
4
順便說一下,Python中的縮進是很重要的。通過縮進來定義函數作用域,就像在R語言中使用大括弧{…}一樣。這有一個我們之前博文的例子:
產生10個正態分布樣本,其中和
基於95%的置信度,計算和;
重復100次; 然後
計算出置信區間包含真實均值的百分比
Python中,程序如下:
import numpy as np
import scipy.stats as ss
def case(n = 10, mu = 3, sigma = np.sqrt(5), p = 0.025, rep = 100):
m = np.zeros((rep, 4))
for i in range(rep):
norm = np.random.normal(loc = mu, scale = sigma, size = n)
xbar = np.mean(norm)
low = xbar - ss.norm.ppf(q = 1 - p) * (sigma / np.sqrt(n))
up = xbar + ss.norm.ppf(q = 1 - p) * (sigma / np.sqrt(n))
if (mu > low) & (mu < up):
rem = 1
else:
rem = 0
m[i, :] = [xbar, low, up, rem]
inside = np.sum(m[:, 3])
per = inside / rep
desc = "There are " + str(inside) + " confidence intervals that contain "
"the true mean (" + str(mu) + "), that is " + str(per) + " percent of the total CIs"
return {"Matrix": m, "Decision": desc}
上述代碼讀起來很簡單,但是循環的時候就很慢了。下面針對上述代碼進行了改進,這多虧了Python專家
import numpy as np
import scipy.stats as ss
def case2(n = 10, mu = 3, sigma = np.sqrt(5), p = 0.025, rep = 100):
scaled_crit = ss.norm.ppf(q = 1 - p) * (sigma / np.sqrt(n))
norm = np.random.normal(loc = mu, scale = sigma, size = (rep, n))
xbar = norm.mean(1)
low = xbar - scaled_crit
up = xbar + scaled_crit
rem = (mu > low) & (mu < up)
m = np.c_[xbar, low, up, rem]
inside = np.sum(m[:, 3])
per = inside / rep
desc = "There are " + str(inside) + " confidence intervals that contain "
"the true mean (" + str(mu) + "), that is " + str(per) + " percent of the total CIs"
return {"Matrix": m, "Decision": desc}
『貳』 數據分析需要掌握哪些知識
數據分析定義
數據分析是指用適當的統計分析方法對收集來的大量數據進行分析,提取有用信息和形成結論而對數據加以詳細研究和概括總結的過程。這一過程也是質量管理體系的支持過程。在實用中,數據分析可幫助人們作出判斷,以便採取適當行動。是有組織有目的地收集數據、分析數據,使之成為信息的過程。
數據分析分類
數據分析劃分為描述性統計分析、探索性數據分析以及驗證性數據分析;其中,探索性數據分析側重於在數據之中發現新的特徵,而驗證性數據分析則側重於已有假設的證實或證偽。
數據分析常用方法
1、PEST分析:
是利用環境掃描分析總體環境中的政治(Political)、經濟(Economic)、社會(Social)與科技(Technological)等四種因素的一種模型。這也是在作市場研究時,外部分析的一部分,能給予公司一個針對總體環境中不同因素的概述。這個策略工具也能有效的了解市場的成長或衰退、企業所處的情況、潛力與營運方向。一般用於宏觀分析。
2、SWOT分析:
又稱優劣分析法或道斯矩陣,是一種企業競爭態勢分析方法,是市場營銷的基礎分析方法之一,通過評價自身的優勢(Strengths)、劣勢(Weaknesses)、外部競爭上的機會(Opportunities)和威脅(Threats),用以在制定發展戰略前對自身進行深入全面的分析以及競爭優勢的定位。而此方法是Albert Humphrey所提。
3、5W2H分析:
用五個以W開頭的英語單詞和兩個以H開頭的英語單詞進行設問,發現解決問題的線索,尋找發明思路,進行設計構思,從而搞出新的發明項目具體:
(1)WHAT——是什麼?目的是什麼?做什麼工作?
(2)WHY——為什麼要做?可不可以不做?有沒有替代方案?
(3)WHO——誰?由誰來做?
(4)WHEN——何時?什麼時間做?什麼時機最適宜?
(5)WHERE——何處?在哪裡做?
(6)HOW ——怎麼做?如何提高效率?如何實施?方法是什麼?
(7)HOW MUCH——多少?做到什麼程度?數量如何?質量水平如何?費用產出如何?
4、7C羅盤模型:
7C模型包括
(C1)企業很重要。也就是說,Competitor:競爭對手,Organization:執行市場營銷或是經營管理的組織,Stakeholder:利益相關者也應該被考慮進來。
(C2)商品在拉丁語中是共同方便共同幸福的意思,是從消費者的角度考慮問題。這也和從消費者開始考慮問題的整合營銷傳播是一致的,能體現出與消費者相互作用進而開發出值得信賴的商品或服務的一種哲學。經過完整步驟創造出的商品可以稱之為商品化。
(C3)成本不僅有價格的意思,還有生產成本、銷售成本、社會成本等很多方面。
(C4)流通渠道表達商品在流動的含義。創造出一個進貨商、製造商、物流和消費者共生的商業模式。作為流通渠道來說,網路銷售也能算在內。
(C5)交流
(C6)消費者
N = 需求(Needs):生活必需品,像水、衣服、鞋。
W = 想法(Wants):想得到的東西,像運動飲料、旅遊鞋。
S = 安全(Security):安全性,像核電、車、食品等物品的安全。
E = 教育(Ecation):對消費者進行教育,為了能夠讓消費者也和企業一樣對商品非常了解,企業應該提供給消費者相應的知識信息。
(C7)環境
N = 國內和國際:國內的政治、法律和倫理環境及國際環境,國際關系。
W = 天氣:氣象、自然環境,重大災害時經營環境會放生變化,適應自然的經營活動是必要的。像便利店或是部分超市就正在實行。
S = 社會和文化:網路時代的社會、福利及文化環境理所當然應該成為考慮因素。
E = 經濟:經濟環境是對經營影響最大的,以此理所當然應該成為考慮因素。7C羅盤模型是一個合作市場營銷的工具。
5、海盜指標法AARRR:是互聯網常用的「用戶增長模型」,黑客增長模型:
Acquisition:獲取用戶
Activation:提高活躍度
Retention:提高留存率
Revenue:獲取收入
Refer:自傳播
數據分析常用工具
日常數據分析用的最多的還是辦公軟體尤其excel、word、ppt,數據存儲處理可能用到一些資料庫結合access用,另外目前一般公司小型關系資料庫用mysql的還是比較多免費、輕量級,還有較多的也在用pg。
其次分析師是用一些專業的分析軟體spss,sas,自助分析用的BI軟體平台如:finebi、tableau等。
finebi
其實想強調的是分析師40%-60%的時間可能會花在數據的獲取、處理和准備上,所以最好能會點sql,個人覺得對於分析師與其去了解資料庫,不如好好去學下sql,因為sql是標准化的數據查詢語言,所有的關系型資料庫包括一些開源的資料庫甚至各公司內部的數據平台都對它有良好的支持。最後對於第三方的一些數據收集或者一些跨平台的數據處理,包括一些分析可以用finebi。
數據分析流程
有了 這些基礎的理論和分析方法後,接下來具體的分析流程可參考:
1.提出問題(需求) 2.結論/假設 3.數據准備 4.數據分析 5.報告生成 結論驗證。
我們按照如上的分析步驟來個示例:
XX產品首銷,哪些用戶最有可能來購買?應該給哪些用戶進行營銷?
第一步首先是提出了問題,有了需求。
第二步分析問題,提出方案,這一步非常重要,正如上面提到的第二三類的數據分析本身就是一個假設檢驗的過程,如果這一步不能很好的假設,後續的檢驗也就無從談起。主要需要思考下從哪些方面來分析這個問題。
可以從三個方面:(PS:這里對於一些常規的屬性比如:性別、年齡、地區分布了這些基本,老大早已心中有數,就不再看了)
1.曾經購買過跟XX產品相似產品的用戶,且當前使用機型是XX產品上一或幾代產品,有換機意願需求的。
2.用戶的關注程度用戶是否瀏覽了新品產品站,是否搜索過新品相關的信息,是否參加了新品的活動。
3.用戶的消費能力歷史消費金額、歷史購機數量、本年度購機金額、本年度購機數量、最近一次購機時間及金額等。
第三步准備數據:
創建分析表,搜集數據 這一步基本是最花時間的,這時候就是考量你的數據平台、數據倉庫的時候了,倉庫集成的好,平台易用的話時間應該不用太長。
第四步數據分析:筆者是把數據導入到finebi進行分析的,也可以用python,其實用excel也非常好,只是筆者對excel的有些處理不是很擅長。
第五步就是圖表呈現,報告的表達了,最後我們驗證得到的一個結論就是:購買過同類產品,關注度越高,復購周期越近的用戶越最容易再次復購。
註:想要獲取33個好用數據分析工具,可以私聊回復我「工具」獲得!
『叄』 數據分析師日常都分析哪些數據
數據分析有:分類分析,矩陣分析,漏斗分析,相關分析,邏輯樹分析,趨勢分析,行為軌跡分析,等等。 我用HR的工作來舉例,說明上面這些分析要怎麼做,才能得出洞見。
01) 分類分析
比如分成不同部門、不同崗位層級、不同年齡段,來分析人才流失率。比如發現某個部門流失率特別高,那麼就可以去分析。
02) 矩陣分析
比如公司有價值觀和能力的考核,那麼可以把考核結果做出矩陣圖,能力強價值匹配的員工、能力強價值不匹配的員工、能力弱價值匹配的員工、能力弱價值不匹配的員工各佔多少比例,從而發現公司的人才健康度。
03) 漏斗分析
比如記錄招聘數據,投遞簡歷、通過初篩、通過一面、通過二面、通過終面、接下Offer、成功入職、通過試用期,這就是一個完整的招聘漏斗,從數據中,可以看到哪個環節還可以優化。
04) 相關分析
比如公司各個分店的人才流失率差異較大,那麼可以把各個分店的員工流失率,跟分店的一些特性(地理位置、薪酬水平、福利水平、員工年齡、管理人員年齡等)要素進行相關性分析,找到最能夠挽留員工的關鍵因素。
05) 邏輯樹分析
比如近期發現員工的滿意度有所降低,那麼就進行拆解,滿意度跟薪酬、福利、職業發展、工作氛圍有關,然後薪酬分為基本薪資和獎金,這樣層層拆解,找出滿意度各個影響因素裡面的變化因素,從而得出洞見。
06) 趨勢分析
比如人才流失率過去12個月的變化趨勢。
07)行為軌跡分析
比如跟蹤一個銷售人員的行為軌跡,從入職、到開始產生業績、到業績快速增長、到疲憊期、到逐漸穩定。
『肆』 數據分析需要掌握哪些知識呢
數據分析所需要掌握的知識:
數學知識
對於初級數據分析師來說,則需要了解統計相關的基礎性內容,公式計算,統計模型等。當你獲得一份數據集時,需要先進行了解數據集的質量,進行描述統計。
而對於高級數據分析師,必須具備統計模型的能力,線性代數也要有一定的了解。
分析工具
對於分析工具,SQL 是必須會的,還有要熟悉Excel數據透視表和公式的使用,另外,還要學會一個統計分析工具,SAS作為入門是比較好的,VBA 基本必備,SPSS/SAS/R 至少要熟練使用其中之一,其他分析工具(如 Matlab)可以視情況而定。
編程語言
數據分析領域最熱門的兩大語言是 R 和 Python。涉及各類統計函數和工具的調用,R無疑有優勢。但是大數據量的處理力不足,學習曲線比較陡峭。Python 適用性強,可以將分析的過程腳本化。所以,如果你想在這一領域有所發展,學習 Python 也是相當有必要的。
當然其他編程語言也是需要掌握的。要有獨立把數據化為己用的能力, 這其中SQL 是最基本的,你必須會用 SQL 查詢數據、會快速寫程序分析數據。當然,編程技術不需要達到軟體工程師的水平。要想更深入的分析問題你可能還會用到:Exploratory analysis skills、Optimization、Simulation、Machine Learning、Data Mining、Modeling 等。
業務理解
對業務的理解是數據分析師工作的基礎,數據的獲取方案、指標的選取、還有最終結論的洞察,都依賴於數據分析師對業務本身的理解。
對於初級數據分析師,主要工作是提取數據和做一些簡單圖表,以及少量的洞察結論,擁有對業務的基本了解就可以。對於高級數據分析師,需要對業務有較為深入的了解,能夠基於數據,提煉出有效觀點,對實際業務能有所幫助。對於數據挖掘工程師,對業務有基本了解就可以,重點還是需要放在發揮自己的技術能力上。
邏輯思維
對於初級數據分析師,邏輯思維主要體現在數據分析過程中每一步都有目的性,知道自己需要用什麼樣的手段,達到什麼樣的目標。對於高級數據分析師,邏輯思維主要體現在搭建完整有效的分析框架,了解分析對象之間的關聯關系,清楚每一個指標變化的前因後果,會給業務帶來的影響。對於數據挖掘工程師,羅輯思維除了體現在和業務相關的分析工作上,還包括演算法邏輯,程序邏輯等,所以對邏輯思維的要求也是最高的。
數據可視化
數據可視化主要藉助於圖形化手段,清晰有效地傳達與溝通信息。聽起來很高大上,其實包括的范圍很廣,做個 PPT 里邊放上數據圖表也可以算是數據可視化。
對於初級數據分析師,能用 Excel 和 PPT 做出基本的圖表和報告,能清楚地展示數據,就達到目標了。對於稍高級的數據分析師,需要使用更有效的數據分析工具,根據實際需求做出或簡單或復雜,但適合受眾觀看的數據可視化內容。
協調溝通
數據分析師不僅需要具備破譯數據的能力,也經常被要求向項目經理和部門主管提供有關某些數據點的建議,所以,你需要有較強的交流能力。
對於高級數據分析師,需要開始獨立帶項目,或者和產品做一些合作,因此除了溝通能力以外,還需要一些項目協調能力。
『伍』 學習大數據分析要用到哪些知識
每一個大數據的愛好者應該心目中都有一個數據分析師的夢吧,我們都知道數據分析師是一個非常神秘的職位,看著一堆數據就能洞悉全局,很神奇吧,今天來給大家送福利了,想提高你的數據分析能力嗎,看下文吧。
1.Excel是否精鑽?
除了常用的Excel函數(sum、average、if、countifs、sumifs、offset、match、index等)之外,Excel圖表(餅圖、線圖、柱形圖、雷達圖等)和簡單分析技能也是經常用的,可以幫助你快速分析業務走勢和異常情況;另外,Excel裡面的函數結合透視表以及VBA功能是完善報表開發的利器,讓你一鍵輕松搞定報表。
2.你需要更懂資料庫
常用的資料庫如MySQL,Sql Server、Oracle、DB2、MongoDB等;除去SQL語句的熟練使用,對於資料庫的存儲讀取過程也要熟練掌握。在對於大數據量處理時,如何想辦法加快程序的運行速度、減少網路流量、提高資料庫的安全性是非常有必要的。
3.掌握數據整理、可視化和報表製作
數據整理,是將原始數據轉換成方便實用的格式,實用工具有Excel、R、Python等工具。數據可視化,是創建和研究數據的視覺表現,方便業務方快速分析數據並定位具體問題,實用工具有Tableau、FineBI、Qlikview.
如果常用excel,那需要用PPT展示,這項技能也需要琢磨透。如果用tableau、FineBI之類的工具做數據可視化,FineBI有推送查看功能,也就是在企業上下建立一套系統,通過許可權的分配讓不同的人看到許可權范圍內的報表。
4.多學幾項技能
大多數據分析師都是從計算機、數學、統計這些專業而來的,也就意味著數學知識是重要基礎。尤其是統計學,更是數據分析師的基本功,從數據採集、抽樣到具體分析時的驗證探索和預測都要用到統計學。
現在社會心理學也逐漸囊括到數據分析師的能力體系中來了,尤其是從事互聯網產品運營的同學,需要了解用戶的行為動向,分析背後的動機。把握了整體方向後,數據分析的過程也就更容易。