餐廳統計的用餐信息如下:
餐費、小費、性別、吸煙習慣、用餐時段、用餐人數
目的:分析小費比例與其他因素的關系,出手最闊綽的人群長什么樣?
##思考:
根據到手的數據,簡單分析小費比例可能與哪些因素產生關系?
性別?吸煙習慣?用餐時段?用餐人數?
1、導入數據
先導入數據,觀察數據是什么樣子的
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:小費
sex:性別
smoker:吸煙情況
day:周一至周日的一天
time:一天三餐某一餐
size:用餐人數
可以用散點圖感受一下total_bill與tip之間分布關系:
tipa.plot(kind = 'scatter',x = 'total_bill',y ='tip', color="blue",label="bill_tip",figsize=(10,6))
橫軸表示消費額,縱軸表示小費,可以大致看到一個趨勢——小費隨消費額的增加而增加。
(不過后面的分析我們會發現,小費比例隨消費額的增加而減少)
2、分析思路
(1)首先計算出 小費比例
(2)提出假設:小費比例與消費額成正比,與用餐人數成正比,有吸煙習慣的人小費比例更高,男性比女性小費比例高,晚餐比午餐小費比例高,周末小費比例更高
(3)驗證假設
3、數據清洗
首先來看看離群值是否是異常值,思路如下:
1. 畫出整體數據小費比例的箱線圖,可以看到離群值
2. 根據箱線圖中離群值范圍,找出離群值具體數據情況,判別是否為異常值
3. 使用df.drop([index1,index2,])去除數據中的異常值
# 計算小費比例 tips['pct'] = tips.tip/tips.total_bill*100 tips.head() #整體數據的小費比例箱線圖 tips.pct.plot(kind = 'box',label= 'tips pct%',figsize=(10,6))
從整體數據來看,小費比例最小在3%左右,最大在70%左右,中位數在15%左右,均值為16%,
這是一個很大的范圍,我們需要深入到各個緯度去研究小費比例的關聯因素。
小費比例高於30%被認為是離群值,下面我看來看看這幾個離群值是否是異常值。
tips[tips.pct>30]
可以看到,小費比例較高的這幾個離群值,小費總額都不到10美元,
而小費比例就超出一半,可以認為這是異常值,
因此我們剔除掉這些異常值。然后再開始數據挖掘。
#去除異常值 tipa = tips.drop([67,172,178])
tipa[tipa.tip>30]
4、數據分析
小費比例與性別、日期、吸煙習慣、用餐時段的關系
#按男女分組,繪制小費比例箱線圖 tipa[['pct','sex']].boxplot(grid = False,by = 'sex',figsize =(10,6)) #按星期幾分組,繪制小費比例箱線圖 tipa[['pct','day']].boxplot(grid = False,by = 'day',figsize =(10,6)) # 是否吸煙與小費比例關系 tipa[["pct","smoker"]].boxplot(grid=False,by="smoker",figsize=(10,6)) # 按性別分組,尋找吸煙與否與小費比例關系 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)) #小費比例與用餐時段的關系 tipa[["pct","time"]].boxplot(grid=False,by="time",figsize=(10,6))
按性別分組來看,男女性的中位數接近,男性的小費比例分布非常均勻,
女性的小費比例下四分位數更加靠上,說明女性更容易給出更高的小費。

按吸煙習慣來看,吸煙的人出手更加隨意,小費比例范圍更廣,而不吸煙的人出手更加謹慎。
我想其中的原因可能在於吸煙者覺得自己帶給了別人更多不方便,當然,也可能和吸煙者的經濟狀況、付費習慣有關。
### 將數據按性別分組,男性中的不吸煙群體的小費比例比吸煙群體要高,
其中的原因可能是不吸煙的男性可能擁有更高的教育水平和經濟能力。
女性中的吸煙群體的小費比例明顯高於不吸煙群體,中位數超過女性不吸煙群體3%左右,分布范圍也更廣。
從用餐時段來看,午餐的小費比例范圍較窄,晚餐時段的小費比例隨意性較大,
這可能是由於晚餐時段用餐時長更長、餐費更高、很可能用了酒類飲料,使得小費比例較高。
。。。接下來看看小費與用餐人數之間關系
#小費比例與用餐人數的關系 tipa.groupby("size").mean()
可以看到,小費比例隨用餐人數的增加而降低。
可以得出結論:周六單獨來餐廳吃晚餐的吸煙男性