成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python 數(shù)據(jù)集探索與可視化實例指南

開發(fā) 后端 大數(shù)據(jù)
你的任務是提高銷售團隊的績效。在我們假設的情況下,潛在客戶有相當自發(fā)的需求。當這種情況發(fā)生時,您的銷售團隊會在系統(tǒng)中放置一個訂單線索。然后,您的銷售代表會設法安排一次會議,會議將在訂單線索被注意到的時候舉行。

在今天的文章中,您將學習:

  • 如何合并和整理數(shù)據(jù),
  • 如何探索和分析數(shù)據(jù),
  • 如何創(chuàng)建漂亮的圖形以可視化您的發(fā)現(xiàn)

本文適用于誰:

  • 經(jīng)常處理數(shù)據(jù)的人
  • 對Python和Pandas有基本了解的人

情景再現(xiàn):

你的任務是提高銷售團隊的績效。在我們假設的情況下,潛在客戶有相當自發(fā)的需求。當這種情況發(fā)生時,您的銷售團隊會在系統(tǒng)中放置一個訂單線索。然后,您的銷售代表會設法安排一次會議,會議將在訂單線索被注意到的時候舉行。有時在前,有時在后。你的銷售代表有一個把會議和餐費結(jié)合起來的開支預算。銷售代表花費他們的成本,并將發(fā)票交給會計團隊處理。在潛在客戶決定是否接受您的報價后,銷售代表會跟蹤訂單線索是否轉(zhuǎn)化為銷售。

對于分析,您可以訪問以下三個數(shù)據(jù)源:

  • 訂單線索(包含所有訂單線索和轉(zhuǎn)換信息)
  • 銷售團隊(包括公司和負責的銷售代表)
  • 發(fā)票(提供發(fā)票和參與者的信息)

導入和安裝:

需要安裝標準庫,此外,通過使用以下命令,在你的Notebook上安裝seaborn.

  1. !pip install seaborn 

下載數(shù)據(jù):

您可以按照上周的說明下載并合并數(shù)據(jù),也可以從此處下載文件并將其加載到 Notebook中。

 

sales_team 數(shù)據(jù)表的前兩行

 

 

order_leads數(shù)據(jù)表的前兩行

 

 

invoices數(shù)據(jù)表的前兩行

 

開始探索

總轉(zhuǎn)化率發(fā)展

 

轉(zhuǎn)化率隨時間的變化

 

事情似乎在2017年初走下坡路。經(jīng)過與首席銷售官核實,發(fā)現(xiàn)大約在那個時候有一個競爭對手進入了這個市場。很高興知道,但我們現(xiàn)在無能為力。

 

  1. _ = order_leads.set_index(pd.DatetimeIndex(order_leads.Date)).groupby(    pd.Grouper(freq='D')     
  2.  
  3. )['Converted'].mean()    
  4. ax = _.rolling(60).mean().plot(figsize=(20,7),title='Conversion Rate Over Time')      
  5. vals = ax.get_yticks()      
  6. ax.set_yticklabels(['{:,.0f}%'.format(x*100) for x in vals])   
  7.  
  8. sns.despine() 
  1. 我們使用下劃線_作為臨時變量。對于以后不再使用的一次性變量,我通常會這樣做。
  2. 我們在order_leads.Date上使用了pd.DateTimeIndex并將結(jié)果設置為索引,這使我們能夠
  3. 使用pd.Grouped(freq ='D')按天對數(shù)據(jù)進行分組。 或者,您可以將頻率更改為W,M,Q或Y(每周,每月,每季度或每年)
  4. 我們計算每天“轉(zhuǎn)換”的平均值,這將給出當天訂單的換算率。
  5. 我們使用.roll(60)和.mean()來獲得60天的滾動平均值。
  6. 然后我們格式化yticklables,使它們顯示一個百分號。

各銷售代表的轉(zhuǎn)化率:

各個銷售代表之間似乎存在很大的差異。 讓我們對此進行更多調(diào)查。

就所使用的功能而言,這里沒有太多新內(nèi)容。 但是請注意我們?nèi)绾问褂胹ns.distplot將數(shù)據(jù)繪制到軸上。

如果我們回顧sales_team數(shù)據(jù),我們會記住并非所有的銷售代表都擁有相同數(shù)量的客戶,這肯定會產(chǎn)生影響! 讓我們檢查。

 

按分配的帳戶數(shù)分配的轉(zhuǎn)換率

 

我們可以看到,轉(zhuǎn)換率數(shù)字似乎與分配給銷售代表的帳戶數(shù)量成反比。 那些降低的轉(zhuǎn)化率是有道理的。 畢竟,代表擁有的帳戶越多,他可以花在每個人身上的時間就越少。

在這里,我們首先創(chuàng)建一個輔助函數(shù),該函數(shù)將垂直線映射到每個子圖中,并用數(shù)據(jù)的均值和標準差注釋該線。然后我們設置一些seaborn繪圖默認值,例如較大的font_scale和whitegrid設置為樣式。

進餐影響:

 

進餐數(shù)據(jù)

 

看來我們已經(jīng)確定了用餐的日期和時間,讓我們快速了解一下時間分布:

 

  1. invoices['Date of Meal'] = pd.to_datetime(invoices['Date of Meal'])     
  2. invoices['Date of Meal'].dt.time.value_counts().sort_index() 

 

  1. out
  2. 07:00:00    5536 
  3. 08:00:00    5613 
  4. 09:00:00    5473 
  5. 12:00:00    5614 
  6. 13:00:00    5412 
  7. 14:00:00    5633 
  8. 20:00:00    5528 
  9. 21:00:00    5534 
  10. 22:00:00    5647 

總結(jié):

 

  1. invoices['Type of Meal'] = pd.cut(     
  2.     invoices['Date of Meal'].dt.hour,     
  3.     bins=[0,10,15,24],     
  4.     labels=['breakfast','lunch','dinner']     

注意,這里我們是如何使用pd.cut為數(shù)字數(shù)據(jù)分配類別的,這很有意義,因為畢竟,早餐是在8點還是9點開始,都沒有關(guān)系。

另外,請注意我們?nèi)绾问褂?dt.hour,我們只能這樣做,因為我們將

invoices['Date of Meal']轉(zhuǎn)換為之前的日期時間。 .dt是所謂的訪問器,其中有三個cat,str和dt。 如果您的數(shù)據(jù)類型正確,則可以使用這些訪問器及其方法進行直接操作(計算有效且簡潔)。不幸的是,invoices ['Participants']是一個字符串,我們必須首先將其轉(zhuǎn)換為合法的JSON,以便我們 可以提取參與者的數(shù)量。

 

  1. def replace(x):     
  2.     return x.replace("\n ",",").replace("' '","','").replace("'",'"')     
  3. invoices['Participants'] = invoices['Participants'].apply(lambda x: replace(x))     
  4. invoices['Number Participants'] = invoices['Participants'].apply(lambda x: len(json.loads(x))) 

現(xiàn)在,我們合并數(shù)據(jù)。 為此,我們首先將公司ID上的所有發(fā)票左連接到order_leads。 但是,合并數(shù)據(jù)會導致所有餐點都加入所有訂單。 也有古老的飯菜,以最近的訂單。 為了緩解這種情況,我們計算了進餐和點餐之間的時間差,并且僅考慮訂單周圍五天的進餐。

仍然有一些訂單已分配多餐。 當同時有兩個訂單和兩餐時,可能會發(fā)生這種情況。 然后,兩餐將分配給兩個訂單線索。 要刪除這些重復項,我們僅使餐點最接近該訂單。

 


組合數(shù)據(jù)的部分

 

我創(chuàng)建了一個繪圖欄功能,其中已經(jīng)包含一些樣式。 通過該功能進行繪圖可以使目視檢查更快。 我們將在一秒鐘內(nèi)使用它。

進餐類型的影響:

 

  1. orders_with_meals['Type of Meal'].fillna('no meal',inplace=True)     
  2. _ = orders_with_meals.groupby('Type of Meal').agg({'Converted': np.mean})     
  3. plot_bars(_,x_col='Type of Meal',y_col='Converted'

哇! 用餐相關(guān)的訂單與不用餐相關(guān)的訂單之間的轉(zhuǎn)換率差異非常大。 不過,看起來午餐的轉(zhuǎn)化率略低于晚餐或早餐。

時間的影響(即進餐之前或之后進餐):

 

  1. _ = orders_with_meals.groupby(['Days of meal before order']).agg(     
  2. {'Converted': np.mean}     
  3. )     
  4. plot_bars(data=_,x_col='Days of meal before order',y_col='Converted'

“訂購前用餐天數(shù)”為負數(shù)表示用餐是在訂單線索輸入之后進行的。我們可以看到,如果膳食在訂單線索進入之前發(fā)生,則對轉(zhuǎn)化率似乎有積極影響。 訂單的先驗知識似乎在這里給我們的銷售代表帶來了優(yōu)勢。

結(jié)合所有:

  • 現(xiàn)在,我們將使用熱圖同時可視化數(shù)據(jù)的多個維度。 為此,首先創(chuàng)建一個輔助函數(shù)。
  • 然后,我們使用一些最終數(shù)據(jù)進行爭辯,以額外考慮餐食價格與訂單價值的關(guān)系,并將交貨時間分配到“訂購前”,“訂購前后”,“訂購后”,而不是從負4到正4的天數(shù),因為這在解釋方面有些繁瑣。

運行以下代碼片段將產(chǎn)生多維熱圖。

 

  1. draw_heatmap(     
  2.     data=data,     
  3.     outer_row='Timing of Meal',     
  4.     outer_col='Type of Meal',     
  5.     inner_row='Meal Price / Order Value',     
  6.     inner_col='Number Participants',     
  7.     values='Converted'     

 

熱圖可在一幅圖中可視化四個維度

 

該熱圖當然很漂亮,盡管起初有點難讀。 因此,讓我們來看一下。 圖表總結(jié)了4個不同維度的影響:

  • 用餐時間:訂購后,訂購前后,訂購前(外排)
  • 用餐類型:早餐,晚餐,午餐(外欄)
  • 餐單價格:最低價格,最低價格,比例價格,最高價格,最高價格(內(nèi)排)
  • 參加人數(shù):1,2,3,4,5(內(nèi)欄)

當然,圖表底部的顏色似乎更深/更高,這表明:

  • 在點餐之前用餐時,轉(zhuǎn)化率會更高
  • 當只有一名參與者時,晚餐轉(zhuǎn)化率似乎更高
  • 與訂單價值相比,看起來更昂貴的餐食對轉(zhuǎn)化率有積極影響

結(jié)果:

  • 銷售代表的帳戶不要超過9個(轉(zhuǎn)化率會迅速下降)
  • 確保每個訂單線索都伴隨有會議/進餐(因為這會使轉(zhuǎn)換率翻倍當只有一位員工來訪時,晚餐最有效
  • 您的銷售代表應支付的餐費約為訂單金額的8%至10%
  • 時間是關(guān)鍵,理想情況下,您的銷售代表應盡早知道即將達成交易。

單擊此處查看代碼: GitHub Repo / Jupyter Notebook

備注為熱圖:

  • 要解決可能出現(xiàn)的格式錯誤,可以先卸載(然后在終端中必須這樣做),然后運行以下命令,將matplotlib降級到3.1.0版:
  1. !pip install matplotlib==3.1.0 

本文轉(zhuǎn)自雷鋒網(wǎng),如需轉(zhuǎn)載請至雷鋒網(wǎng)官網(wǎng)申請授權(quán)。

責任編輯:未麗燕 來源: 雷鋒網(wǎng)
相關(guān)推薦

2022-05-07 10:14:07

Python數(shù)據(jù)可視化

2023-11-30 09:34:14

數(shù)據(jù)可視化探索

2023-05-06 12:57:34

Python工具

2020-03-11 14:39:26

數(shù)據(jù)可視化地圖可視化地理信息

2015-10-14 17:59:53

Google數(shù)據(jù)探索交互開發(fā)

2024-03-07 09:00:04

Rust數(shù)據(jù)可視化

2024-07-25 14:04:16

2018-03-07 11:35:49

Python可視化數(shù)據(jù)

2017-10-14 13:54:26

數(shù)據(jù)可視化數(shù)據(jù)信息可視化

2023-11-06 10:04:51

Go語言大數(shù)據(jù)

2023-11-30 07:23:53

數(shù)據(jù)分析EDA

2022-06-06 21:46:32

Kubernetes網(wǎng)絡

2022-08-26 09:15:58

Python可視化plotly

2023-11-24 14:02:00

Python數(shù)據(jù)分析

2020-05-26 11:34:46

可視化WordCloud

2022-02-23 09:50:52

PythonEchartspyecharts

2024-03-06 19:57:56

探索商家可視化

2017-02-07 15:54:14

數(shù)據(jù)可視化數(shù)據(jù)分析

2021-07-26 10:41:16

數(shù)據(jù)可視化設備大屏

2017-03-28 14:57:23

kylinsuperset可視化
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 精品在线播放 | 亚洲欧美中文日韩在线v日本 | 91在线导航 | 国产农村一级国产农村 | 91av国产在线视频 | 一区二区三区国产 | 久久伊人影院 | 国产一级片精品 | av网站免费看 | 婷婷久久一区 | 性国产丰满麻豆videosex | 9久9久9久女女女九九九一九 | 日本精品视频 | 美女张开腿露出尿口 | 亚洲欧洲在线观看视频 | 毛片免费在线 | 国产激情三区 | 色男人的天堂 | 精品一区在线免费观看 | 日本亚洲欧美 | 日本高清中文字幕 | 免费在线观看成人 | 韩日av在线| 一本岛道一二三不卡区 | av片网站 | 蜜臀久久99精品久久久久野外 | 国产美女特级嫩嫩嫩bbb片 | 欧美日韩一区在线 | 国产一区二区自拍 | 视频精品一区二区三区 | 欧美日韩免费一区二区三区 | 久久黄色 | 成人午夜av | 中文字幕人成乱码在线观看 | 一区在线观看视频 | 老头搡老女人毛片视频在线看 | 亚洲精品日韩一区二区电影 | 激情久久网 | 欧美 日韩 国产 成人 在线 91 | 欧美理论片在线观看 | 女女爱爱视频 |