Python|餐廳小費(fèi)比例分析

01 引

我們手里有一份餐廳統(tǒng)計(jì)的用餐信息隐圾,包括餐費(fèi)困食、小費(fèi)、性別翎承、吸煙習(xí)慣硕盹、用餐時(shí)段、用餐人數(shù)等信息叨咖。下面讓我們用這份數(shù)據(jù)表練手python吧瘩例。

本次練習(xí)主要圍繞一下幾點(diǎn):

  1. groupby方法
  2. plot箱線圖
  3. plot散點(diǎn)圖

來(lái)吧,讓我們開(kāi)始吧甸各!

目的:分析小費(fèi)比例與其他因素的關(guān)系垛贤,出手最闊綽的人群長(zhǎng)什么樣?

02 實(shí)操

其實(shí)根據(jù)這份數(shù)據(jù)可以分析出很多好玩的東西趣倾,比如:

  • 餐費(fèi)高低與性別聘惦、用餐時(shí)段、用餐日期的關(guān)系
  • 吸煙顧客的畫像儒恋、不吸煙顧客的畫像
  • 小費(fèi)比例與性別善绎、吸煙習(xí)慣、用餐時(shí)段等因素的關(guān)系

篇幅有限诫尽,舉一反三禀酱,今天我們就來(lái)看看小費(fèi)比例與性別、吸煙習(xí)慣牧嫉、用餐時(shí)段等因素的關(guān)系吧剂跟。

2.1 數(shù)據(jù)結(jié)構(gòu)

首先我們來(lái)看看這份數(shù)據(jù)長(zhǎng)什么樣

import pandas as pd
%matplotlib inline
%config InlineBackend.figure_format="retina"

tips=pd.read_csv("/Users/dengsudden/Documents/python_course/tips.csv",sep=";")
tips.head()

其中减途,各字段意義如下:

  • total_bill:賬單總額
  • tip: 所付小費(fèi)
  • sex: 性別
  • smoker:是否吸煙
  • day:周一至周日的一天
  • time:晚餐(dinner)還是午餐(lunch)
  • size: 用餐人數(shù)

我們還可以通過(guò)一個(gè)散點(diǎn)圖更直觀地感受數(shù)據(jù)情況。

tipa.plot(kind="scatter",x="total_bill",y="tip",color="blue",label="bill_tip",figsize=(10,6))

橫軸表示消費(fèi)額曹洽,縱軸表示小費(fèi)鳍置,可以大致看到一個(gè)趨勢(shì)——小費(fèi)隨消費(fèi)額的增加而增加。(不過(guò)后面的分析我們會(huì)發(fā)現(xiàn)送淆,小費(fèi)比例隨消費(fèi)額的增加而減少)

2.2 分析思路

  1. 首先計(jì)算出小費(fèi)比例
  2. 提出假設(shè):小費(fèi)比例與消費(fèi)額成正比墓捻,與用餐人數(shù)成正比,有吸煙習(xí)慣的人小費(fèi)比例更高坊夫,男性比女性小費(fèi)比例高砖第,晚餐比午餐小費(fèi)比例高,周末小費(fèi)比例更高
  3. 驗(yàn)證假設(shè)

2.3 數(shù)據(jù)清洗

首先來(lái)看看離群值是否是異常值环凿,思路如下:

  1. 畫出整體數(shù)據(jù)小費(fèi)比例的箱線圖梧兼,可以看到離群值
  2. 根據(jù)箱線圖中離群值范圍,找出離群值具體數(shù)據(jù)情況智听,判別是否為異常值
  3. 使用df.drop([index1,index2,])去除數(shù)據(jù)中的異常值
# 計(jì)算小費(fèi)比例
tips["pct"]=tips.tip/tips.total_bill*100
tips.head()

#整體數(shù)據(jù)的小費(fèi)比例箱線圖
tips.pct.plot(kind="box",label="tips pct%",figsize=(10,6))

從整體數(shù)據(jù)來(lái)看羽杰,小費(fèi)比例最小在3%左右,最大在70%左右到推,中位數(shù)在15%左右考赛,均值為16%,這是一個(gè)很大的范圍莉测,我們需要深入到各個(gè)緯度去研究小費(fèi)比例的關(guān)聯(lián)因素颜骤。小費(fèi)比例高于30%被認(rèn)為是離群值,下面我看來(lái)看看這幾個(gè)離群值是否是異常值捣卤。

tips[tips.pct>30]

可以看到忍抽,小費(fèi)比例較高的這幾個(gè)離群值,小費(fèi)總額都不到10美元董朝,而小費(fèi)比例就超出一半鸠项,可以認(rèn)為這是異常值,因此我們剔除掉這些異常值子姜。然后再開(kāi)始數(shù)據(jù)挖掘祟绊。

# 去除異常值
tipa=tips.drop([67,172,178])
tipa[tipa.pct>30]

2.4 正題來(lái)了:數(shù)據(jù)挖掘

  • 小費(fèi)比例與性別、日期哥捕、吸煙習(xí)慣牧抽、用餐時(shí)段的關(guān)系
#按男女分組,繪制小費(fèi)比例箱線圖
tipa[["pct","sex"]].boxplot(grid=False,by="sex",figsize=(10,6))

#按星期幾分組扭弧,繪制小費(fèi)比例箱線圖
tipa[["pct","day"]].boxplot(grid=False,by="day",figsize=(10,6))

# 是否吸煙與小費(fèi)比例關(guān)系
tipa[["pct","smoker"]].boxplot(grid=False,by="smoker",figsize=(10,6))

# 按性別分組阎姥,尋找吸煙與否與小費(fèi)比例關(guān)系
tipsm=tipa[tipa.sex=="Male"]
tipsf=tipa[tipa.sex=="Female"]

tipsm[["pct","smoker"]].boxplot(grid=False,by="smoker",figsize=(10,6))
tipsf[["pct","smoker"]].boxplot(grid=False,by="smoker",figsize=(10,6))

#小費(fèi)比例與用餐時(shí)段的關(guān)系
tipa[["pct","time"]].boxplot(grid=False,by="time",figsize=(10,6))

輸出如下(僅挑選有意義的輸出):


按性別分組來(lái)看,男女性的中位數(shù)接近鸽捻,男性的小費(fèi)比例分布非常均勻,女性的小費(fèi)比例下四分位數(shù)更加靠上,說(shuō)明女性更容易給出更高的小費(fèi)御蒲。

按日期分組來(lái)看衣赶,周四到周天的小費(fèi)比例中位數(shù)區(qū)別不大,節(jié)假日的周六周天人們給小費(fèi)更加隨意一點(diǎn)厚满,特別是周六府瞄,小費(fèi)比例范圍跨度達(dá)到了25%,原因可能在于周末人們擁有更加輕松愉快的心情(說(shuō)不定周末相親的人也更多碘箍,小費(fèi)比例高呢)遵馆。而這兩天也更容易出現(xiàn)高到離譜的小費(fèi)比例,我猜猜是不是周末喝高了丰榴,小手一抖货邓,小費(fèi)出手。

按吸煙習(xí)慣來(lái)看四濒,吸煙的人出手更加隨意换况,小費(fèi)比例范圍更廣,而不吸煙的人出手更加謹(jǐn)慎盗蟆。我想其中的原因可能在于吸煙者覺(jué)得自己帶給了別人更多不方便戈二,當(dāng)然,也可能和吸煙者的經(jīng)濟(jì)狀況喳资、付費(fèi)習(xí)慣有關(guān)觉吭。

將數(shù)據(jù)按性別分組,男性中的不吸煙群體的小費(fèi)比例比吸煙群體要高仆邓,其中的原因可能是不吸煙的男性可能擁有更高的教育水平和經(jīng)濟(jì)能力亏栈。女性中的吸煙群體的小費(fèi)比例明顯高于不吸煙群體,中位數(shù)超過(guò)女性不吸煙群體3%左右宏赘,分布范圍也更廣绒北。

從用餐時(shí)段來(lái)看,午餐的小費(fèi)比例范圍較窄察署,晚餐時(shí)段的小費(fèi)比例隨意性較大闷游,這可能是由于晚餐時(shí)段用餐時(shí)長(zhǎng)更長(zhǎng)、餐費(fèi)更高贴汪、很可能用了酒類飲料脐往,使得小費(fèi)比例較高。

接下來(lái)我們?cè)賮?lái)看看小費(fèi)比例和用餐人數(shù)的關(guān)系扳埂。

#小費(fèi)比例與用餐人數(shù)的關(guān)系
tipa.groupby("size").mean()

可以看到业簿,小費(fèi)比例隨用餐人數(shù)的增加而降低。

小費(fèi)狂魔畫像

基于上述分析阳懂,我們現(xiàn)在可以給出一個(gè)小費(fèi)狂魔的畫像了梅尤。

*小費(fèi)狂魔:給小費(fèi)比例較高的群體

周六單獨(dú)來(lái)餐廳吃晚餐的吸煙男性

03 結(jié)語(yǔ)

今天我們通過(guò)一張餐廳用餐信息表柜思,針對(duì)python的groupby和可視化函數(shù)進(jìn)行了實(shí)操練習(xí),給出了小費(fèi)狂魔的畫像巷燥。

其中涉及到數(shù)據(jù)清洗以及groupby赡盘、散點(diǎn)圖、箱線圖等方法的調(diào)用缰揪,希望對(duì)你有幫助陨享。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市钝腺,隨后出現(xiàn)的幾起案子抛姑,更是在濱河造成了極大的恐慌,老刑警劉巖艳狐,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件定硝,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡僵驰,警方通過(guò)查閱死者的電腦和手機(jī)喷斋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蒜茴,“玉大人星爪,你說(shuō)我怎么就攤上這事》鬯剑” “怎么了顽腾?”我有些...
    開(kāi)封第一講書人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)诺核。 經(jīng)常有香客問(wèn)我抄肖,道長(zhǎng),這世上最難降的妖魔是什么窖杀? 我笑而不...
    開(kāi)封第一講書人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任漓摩,我火速辦了婚禮,結(jié)果婚禮上入客,老公的妹妹穿的比我還像新娘管毙。我一直安慰自己,他們只是感情好桌硫,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布夭咬。 她就那樣靜靜地躺著,像睡著了一般铆隘。 火紅的嫁衣襯著肌膚如雪卓舵。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,754評(píng)論 1 307
  • 那天膀钠,我揣著相機(jī)與錄音掏湾,去河邊找鬼裹虫。 笑死,一個(gè)胖子當(dāng)著我的面吹牛忘巧,可吹牛的內(nèi)容都是我干的恒界。 我是一名探鬼主播睦刃,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼砚嘴,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了涩拙?” 一聲冷哼從身側(cè)響起际长,我...
    開(kāi)封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎兴泥,沒(méi)想到半個(gè)月后工育,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡搓彻,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年如绸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片旭贬。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡怔接,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出稀轨,到底是詐尸還是另有隱情扼脐,我是刑警寧澤,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布奋刽,位于F島的核電站瓦侮,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏佣谐。R本人自食惡果不足惜肚吏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望狭魂。 院中可真熱鬧罚攀,春花似錦、人聲如沸趁蕊。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)掷伙。三九已至是己,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間任柜,已是汗流浹背卒废。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工沛厨, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人摔认。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓逆皮,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親参袱。 傳聞我的和親對(duì)象是個(gè)殘疾皇子电谣,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 本文將使用Python來(lái)分析哪些因素是影響餐館小費(fèi)的關(guān)鍵因素。 數(shù)據(jù)導(dǎo)入 導(dǎo)入將要分析的tips數(shù)據(jù)抹蚀。用panda...
    樺漁閱讀 3,150評(píng)論 0 3
  • 什么是離群點(diǎn) ??離群點(diǎn)是一個(gè)數(shù)據(jù)對(duì)象剿牺,它顯著不同于其他數(shù)據(jù)對(duì)象,好像它是被不同的機(jī)制產(chǎn)生的一樣环壤。有時(shí)也稱非離群點(diǎn)...
    尼小摩閱讀 4,984評(píng)論 0 6
  • 原創(chuàng)欄目·『民謠故事』 總有一些人,我們?cè)僖矝](méi)有見(jiàn)過(guò) 在一起的都是時(shí)間接箫,離別后就成了時(shí)光 推薦歌曲:樸樹(shù)·《那些花...
    一天一首好民謠閱讀 619評(píng)論 2 0
  • 在家窩回家家家戶戶恍恍惚惚溝溝壑壑不好hhggggjbvcfyjbcf已經(jīng)更換回復(fù)故居方大同一個(gè) v 方法閨女從風(fēng)...
    我是大美女123閱讀 242評(píng)論 0 0
  • 朋友圈展示你的生活攒读,你的性格 不要天天發(fā)朋友圈,你是閑的慌嗎列牺? 頻率建議:2周或一周一次
    CNBLUEone閱讀 146評(píng)論 0 0