資料分析師需要學習Python嗎?

資料分析師的典型工作內容與工作流程

資料分析師的主要內容就是利用一定的工具,結合具體的業務對資料進行處理分析,幫助業務部門監控,定位,尋因,解決問題,從而幫助企業高效決策,提高經營效率。可以看出作為一個數據分析師不僅僅要掌握資料分析的工具,還要對所要分析的問題具有一定的認知,並且還要具有一定的分析思路。

下圖是一個數據分析師的典型工作流程,共分為三個環節:第一環節,資料需求的溝通;第二環節,資料分析建模;第三環節,結論落地應用。前兩個環節是每一個數據分析師都必不可少的,而第三個環節是根據每個公司對資料分析師的定位不同而決定的。而我們今天要介紹的pandas主要是在資料預處理與資料分析建模的環節中應用。

資料分析師需要學習Python嗎?

資料分析師的典型工作流程

你眼中的資料分析師的桌面

資料分析師需要學習Python嗎?

你眼中的分析師桌面

現實中的資料分析師的桌面

資料分析師需要學習Python嗎?

現實中分析師的桌面

資料為什麼要學python,python的優勢在哪?

隨著python的熱度的增加,現在越來越多的資料分析師開始學習與使用python,我麼也不能只憑熱度而選擇一個工具,而是要分析一下對分析師來講,python有哪些優勢:

1、python的應用面更廣,使用更加靈活,它能夠關聯資料分析中資料流轉的上中下游,上游:資料獲取,python可以很好的相容爬蟲,已經連線底層資料庫的介面;中游:資料的分析,在這個過程中,python已經具有非常全面覆蓋資料清洗,分析,建模等方面的庫,下游:資料的展示與輸出,在python中有許多庫,能夠實現各種個性化需求的展示圖表。

2、在處理大量的資料時,python比excel更加高效與可靠,可以輕鬆實現大量資料的複雜計算。

3、python相比於excel,可以輕鬆實現自動化,對於許多個性化的需求,python比excel更容易實現自動化,並且自動化的程度更高。

資料分析師掌握python到什麼程度,以及python向後的拓展可能有哪些?

1、對於一個初級分析師,對於python的掌握程度可以要求到,能夠像excel處理資料似的使用python,需要熟練的掌握pandas,numpy庫,基本掌握matplotplt庫即可

2由於python的高拓展性,對於未來的發展方向,可以向演算法,爬蟲,視覺化等方向發展,並且這些方向都是當前非常火的方向。

作為一個數據分析師如何零基礎入門Python呢?

在此給大家一個兩步走的過程:

第一步:基礎打牢,python的基本知識肯定是必不可少的,這個基礎知識可以透過廖雪峰教程,以及python菜鳥教程等學習,並且python的基礎教程並不很難,對於程式設計的要求並不是很高。

第二步:定向訓練,對於分析師最熟悉的工具當然是excel了,這一階段的定向訓練就可以對標excel,使用python的pandas庫來實現excel常用的全部功能。下邊的內容也是針對pandas如何實現excel的各種基本功能來展開的。

今天主要的內容是:像使用excel一樣去使用Python

1、檔案開啟與儲存

開啟excel檔案

data=pd。read_excel(r‘E:\huawei\我的作品\頭條號文章\pandas操作\案例資料。xlsx’,sheetname=‘sheet1’) #sheetname可省略,預設讀取第一個data_=data

原始資料見下圖

資料分析師需要學習Python嗎?

原始資料

儲存檔案

data_to_excel(r‘E:\huawei\我的作品\頭條號文章\pandas操作\案例資料1。xlsx’)

多sheet儲存

writer=pd。ExcelWriter(r‘E:\huawei\我的作品\頭條號文章\pandas操作\案例資料2。xlsx’)data。to_excel(writer,‘sheet_1’,index=False)data。to_excel(writer,‘sheet_2’,index=False)writer。save() #一定不要忘記save(),否則無法儲存。。

2、

篩選是excel中常用的最基本的功能,我們來看一下pandas是如何實現的

對行進行篩選,例:篩選8-10萬的SUV

data_1=data[(data[‘車型定位’]==‘SUV’)&(data[‘指導價(萬)’]>8)&(data[‘指導價(萬)’]<=10)]

上面的查詢邏輯其實非常的簡單,需要注意的是,如果是多個條件的查詢,必須在&(且)或者|(或)的兩端條件用括號括起來。

對列進行篩選,例:只要sku與銷量兩列:

data_2=data[[‘SKU’,‘本月銷量’]]

3、vlookup是大家在excel中用的最多的公式之一,當在兩個表都非常大的情況下vlookup的速度是非常慢的,經常會出現宕機的現象,反而用pandas中的‘vlookup’十分的快速與可靠,本人親測,兩個百萬行的的表格查詢,簡直就是‘瞬秒’

data_4=pd。merge(data,data_2,how=‘left’,left_on=‘SKU’,right_on=‘SKU’)

如下圖,merge之後的效果,把data_3中‘本月銷量’V進來了

資料分析師需要學習Python嗎?

pandas-merge實現excel中的vlookup

4、透視也是大家最常用的excel技能了,下面就介紹利用pandas裡的pivot_table函式如何透視,例:以車型定位對本月銷量求和透視

data_5=pd。pivot_table(data,index=‘車型定位’,values=‘本月銷量’,aggfunc=‘sum’)

資料分析師需要學習Python嗎?

pivot_table透視效果

5、統計分析

pandas中提供了describe()函式,能夠一次性返回多個統計值,如下圖:

data_6=data。describe()

如果想計算單獨的統計值,可透過相對應的函式進行計算

ddta。count() #非空元素計算data。min() #最小值data。max() #最大值data。idxmin() #最小值的位置data。idxmax() #最大值的位置

資料分析師需要學習Python嗎?

describe結果

6、排序與排名,例:對本月銷量進行降序操作,對本月銷量輸出降序排名,排序排名效果見下圖:

data_。sort_values(by=‘本月銷量’,ascending=False,inplace=True)data_[‘本月銷量排名’]=data[‘本月銷量’]。rank(ascending=False,method=‘min’)

資料分析師需要學習Python嗎?

排序與排名結果

7、合併多個檔案,將兩個相同結構的表格進行連線將data與data_1進行合併,合併後結果見下圖:

data_7=pd。concat([data,data_1]) #一定注意表格裡的變數時list格式

資料分析師需要學習Python嗎?

多檔案合併

8、修改檔案中滿足特定條件的值,例:data資料中的名爵ZS的車型定位錯了,需要由SUV修改成轎車,修改如下:

data。ix[data[‘車系’]==‘名爵ZS’,‘車型定位’]=‘轎車’

資料分析師需要學習Python嗎?

修改特定值

9、map方法在pandas裡的應用,新增一列資料,將本月銷量高於5000的打上‘高銷量’標籤,少於5000的為‘低銷量’

data[‘高/低銷量’]=data[‘本月銷量’]。map(lambda x: ‘高銷量’ if x>=5000 else ‘低銷量’)

資料分析師需要學習Python嗎?

map方法應用

以上只是一些pandas的入門應用,大家在平時應用時,遇到不懂的點多百度,也可以關注我,有問題可以隨時私信,只要堅持下來,總會有驚人的收穫的

——————————————————————————————-

不忘初心,方得始終

最後,以下是全部原始碼彙總

import pandas as pddata=pd。read_excel(r‘E:\huawei\我的作品\頭條號文章\pandas操作\案例資料。xlsx’)data_=datadata_1=data[(data[‘車型定位’]==‘SUV’)&(data[‘指導價(萬)’]>8)&(data[‘指導價(萬)’]<=10)]data_2=data[[‘SKU’,‘本月銷量’]]data_4=pd。merge(data,data_2,how=‘left’,left_on=‘SKU’,right_on=‘SKU’)data_5=pd。pivot_table(data,index=‘車型定位’,values=‘本月銷量’,aggfunc=‘sum’)data_6=data。describe()data_。sort_values(by=‘本月銷量’,ascending=False,inplace=True)data_[‘本月銷量排名’]=data[‘本月銷量’]。rank(ascending=False,method=‘min’)data_7=pd。concat([data,data_1])data。ix[data[‘車系’]==‘名爵ZS’,‘車型定位’]=‘轎車’data[‘高/低銷量’]=data[‘本月銷量’]。map(lambda x: ‘高銷量’ if x>=5000 else ‘低銷量’)