餐厅小费情况分析

matplotlib可视化练习

%matplotlib inline
import matplotlib as mpl
from matplotlib import pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np

练习3:餐厅小费情况分析

  • 小费和总消费之间的关系(散点图)
  • 男性顾客和女性顾客,谁更慷慨(分类箱式图)
  • 抽烟与否是否会对小费金额产生影响(分类箱式图)
  • 工作日和周末,什么时候顾客给的小费更慷慨(分类箱式图)
  • 午饭和晚饭,哪一顿顾客更愿意给小费(分类箱式图)
  • 就餐人数是否会对慷慨度产生影响(分类箱式图)
  • 性别+抽烟的组合因素对慷慨度的影响(分组柱状图)
data = sns.load_dataset("tips")
data.head()
# 总消费,小费,性别,吸烟与否,就餐星期,就餐时间,就餐人数
Paste_Image.png

小费和总消费之间的关系(散点图)

plt.figure(figsize=(10,10))
plt.scatter(data['total_bill'],data['tip'],color = 'r')
output_28_1.png

男性顾客和女性顾客,谁更慷慨(分类箱式图)

慷慨在这里我的理解仅仅是小费 你也可以画消费+消费的图

sexs = np.unique(data['sex'].values)
sex_money = []
for sex in sexs:
    sex_money.append(data[data['sex'] == sex]['tip'].values)
sex_money
[array([ 1.01,  3.61,  5.  ,  3.02,  1.67,  3.5 ,  2.75,  2.23,  3.  ,
         3.  ,  2.45,  3.07,  2.6 ,  5.2 ,  1.5 ,  2.47,  1.  ,  3.  ,
         3.14,  5.  ,  2.2 ,  1.83,  5.17,  1.  ,  4.3 ,  3.25,  2.5 ,
         3.  ,  2.5 ,  3.48,  4.08,  4.  ,  1.  ,  4.  ,  3.5 ,  1.5 ,
         1.8 ,  2.92,  1.68,  2.52,  4.2 ,  2.  ,  2.  ,  2.83,  1.5 ,
         2.  ,  3.25,  1.25,  2.  ,  2.  ,  2.75,  3.5 ,  5.  ,  2.3 ,
         1.5 ,  1.36,  1.63,  5.14,  3.75,  2.61,  2.  ,  3.  ,  1.61,
         2.  ,  4.  ,  3.5 ,  3.5 ,  4.19,  5.  ,  2.  ,  2.01,  2.  ,
         2.5 ,  3.23,  2.23,  2.5 ,  6.5 ,  1.1 ,  3.09,  3.48,  3.  ,
         2.5 ,  2.  ,  2.88,  4.67,  2.  ,  3.  ]),
 array([  1.66,   3.5 ,   3.31,   4.71,   2.  ,   3.12,   1.96,   3.23,
          1.71,   1.57,   3.  ,   3.92,   3.71,   3.35,   4.08,   7.58,
          3.18,   2.34,   2.  ,   2.  ,   4.3 ,   1.45,   2.5 ,   3.27,
          3.6 ,   2.  ,   2.31,   5.  ,   2.24,   2.54,   3.06,   1.32,
          5.6 ,   3.  ,   5.  ,   6.  ,   2.05,   3.  ,   2.5 ,   1.56,
          4.34,   3.51,   3.  ,   1.76,   6.73,   3.21,   2.  ,   1.98,
          3.76,   2.64,   3.15,   2.01,   2.09,   1.97,   1.25,   3.08,
          4.  ,   3.  ,   2.71,   3.  ,   3.4 ,   5.  ,   2.03,   2.  ,
          4.  ,   5.85,   3.  ,   3.  ,   3.5 ,   4.73,   4.  ,   1.5 ,
          3.  ,   1.5 ,   1.64,   4.06,   4.29,   3.76,   3.  ,   4.  ,
          2.55,   5.07,   2.31,   2.5 ,   2.  ,   1.48,   2.18,   1.5 ,
          2.  ,   6.7 ,   5.  ,   1.73,   2.  ,   2.5 ,   2.  ,   2.74,
          2.  ,   2.  ,   5.  ,   2.  ,   3.5 ,   2.5 ,   2.  ,   3.48,
          2.24,   4.5 ,  10.  ,   3.16,   5.15,   3.18,   4.  ,   3.11,
          2.  ,   2.  ,   3.55,   3.68,   5.65,   3.5 ,   6.5 ,   3.  ,
          5.  ,   2.  ,   4.  ,   1.5 ,   2.56,   2.02,   4.  ,   1.44,
          2.  ,   2.  ,   4.  ,   4.  ,   3.41,   3.  ,   2.03,   2.  ,
          5.16,   9.  ,   3.  ,   1.5 ,   1.44,   2.2 ,   1.92,   1.58,
          3.  ,   2.72,   2.  ,   3.  ,   3.39,   1.47,   3.  ,   1.25,
          1.  ,   1.17,   5.92,   2.  ,   1.75])]
fig, ax = plt.subplots()
ax.boxplot(sex_money)
ax.set_xticklabels(sexs)
output_32_1.png

抽烟与否是否会对小费金额产生影响(分类箱式图)

smokers = np.unique(data['smoker'].values)
smoker_tip = []
for smoker in smokers:
    smoker_tip.append(data[data['smoker'] == smoker]['tip'].values)
smoker_tip
[array([ 1.01,  1.66,  3.5 ,  3.31,  3.61,  4.71,  2.  ,  3.12,  1.96,
         3.23,  1.71,  5.  ,  1.57,  3.  ,  3.02,  3.92,  1.67,  3.71,
         3.5 ,  3.35,  4.08,  2.75,  2.23,  7.58,  3.18,  2.34,  2.  ,
         2.  ,  4.3 ,  3.  ,  1.45,  2.5 ,  3.  ,  2.45,  3.27,  3.6 ,
         2.  ,  3.07,  2.31,  5.  ,  2.24,  2.54,  3.06,  1.32,  5.6 ,
         3.  ,  5.  ,  6.  ,  2.05,  3.  ,  2.5 ,  2.6 ,  5.2 ,  1.56,
         4.34,  3.51,  1.5 ,  6.73,  2.64,  3.15,  2.47,  2.01,  1.97,
         3.  ,  2.2 ,  1.25,  4.  ,  3.  ,  2.71,  3.4 ,  1.83,  2.03,
         5.17,  2.  ,  4.  ,  5.85,  3.  ,  3.5 ,  3.25,  1.5 ,  4.08,
         3.76,  3.  ,  1.  ,  4.  ,  2.55,  4.  ,  3.5 ,  5.07,  1.5 ,
         1.8 ,  2.92,  2.31,  1.68,  2.5 ,  2.  ,  2.52,  4.2 ,  1.48,
         2.  ,  2.  ,  2.18,  1.5 ,  2.83,  1.5 ,  2.  ,  3.25,  1.25,
         2.  ,  2.  ,  2.75,  3.5 ,  6.7 ,  5.  ,  5.  ,  2.3 ,  1.5 ,
         1.36,  1.63,  1.73,  2.  ,  2.5 ,  2.  ,  2.74,  2.  ,  2.  ,
         5.14,  5.  ,  3.75,  2.61,  2.  ,  3.5 ,  2.5 ,  2.  ,  2.  ,
         3.48,  2.24,  4.5 ,  5.  ,  1.44,  9.  ,  3.  ,  3.  ,  2.72,
         3.39,  1.47,  1.25,  4.67,  5.92,  1.75,  3.  ]),
 array([  3.  ,   1.76,   3.21,   2.  ,   1.98,   3.76,   1.  ,   2.09,
          3.14,   5.  ,   3.08,   3.  ,   5.  ,   3.  ,   1.  ,   4.3 ,
          4.73,   4.  ,   1.5 ,   3.  ,   2.5 ,   3.  ,   2.5 ,   3.48,
          1.64,   4.06,   4.29,   4.  ,   2.  ,   3.  ,   1.61,   2.  ,
         10.  ,   3.16,   5.15,   3.18,   4.  ,   3.11,   2.  ,   2.  ,
          4.  ,   3.55,   3.68,   5.65,   3.5 ,   6.5 ,   3.  ,   3.5 ,
          2.  ,   3.5 ,   4.  ,   1.5 ,   4.19,   2.56,   2.02,   4.  ,
          2.  ,   5.  ,   2.  ,   2.  ,   4.  ,   2.01,   2.  ,   2.5 ,
          4.  ,   3.23,   3.41,   3.  ,   2.03,   2.23,   2.  ,   5.16,
          2.5 ,   6.5 ,   1.1 ,   3.  ,   1.5 ,   1.44,   3.09,   2.2 ,
          3.48,   1.92,   1.58,   2.5 ,   2.  ,   2.88,   2.  ,   3.  ,
          3.  ,   1.  ,   1.17,   2.  ,   2.  ])]
fig, ax = plt.subplots()
ax.boxplot(smoker_tip)
ax.set_xticklabels(smokers)
output_35_1.png

工作日和周末,什么时候顾客给的小费更慷慨(分类箱式图)

data.groupby(data['day']).size()
day
Thur    62
Fri     19
Sat     87
Sun     76
dtype: int64
days = np.array(['workday','restday'])
day_tip = []
def change_day(data):
    for day in data.values:
        if day[4] == 'Sun':
            day_tip.append(['restday',day[1]])
        else:
            day_tip.append(['workday',day[1]])
#         

change_day(data)
day_tip = pd.DataFrame(day_tip,columns=['day','tip'])
day_tip
Paste_Image.png
day_tips = []
for day in days:
    day_tips.append(day_tip[day_tip['day'] == day]['tip'].values)
day_tips
[array([  3.35,   4.08,   2.75,   2.23,   7.58,   3.18,   2.34,   2.  ,
          2.  ,   4.3 ,   3.  ,   1.45,   2.5 ,   3.  ,   2.45,   3.27,
          3.6 ,   2.  ,   3.07,   2.31,   5.  ,   2.24,   3.  ,   1.5 ,
          1.76,   6.73,   3.21,   2.  ,   1.98,   3.76,   2.64,   3.15,
          2.47,   1.  ,   2.01,   2.09,   1.97,   3.  ,   3.14,   5.  ,
          2.2 ,   1.25,   3.08,   4.  ,   3.  ,   2.71,   3.  ,   3.4 ,
          1.83,   5.  ,   2.03,   5.17,   2.  ,   4.  ,   5.85,   3.  ,
          3.  ,   3.5 ,   1.  ,   4.3 ,   3.25,   4.73,   4.  ,   1.5 ,
          3.  ,   1.5 ,   2.5 ,   3.  ,   2.5 ,   3.48,   4.08,   1.64,
          4.06,   4.29,   3.76,   4.  ,   3.  ,   1.  ,   1.5 ,   1.8 ,
          2.92,   2.31,   1.68,   2.5 ,   2.  ,   2.52,   4.2 ,   1.48,
          2.  ,   2.  ,   2.18,   1.5 ,   2.83,   1.5 ,   2.  ,   3.25,
          1.25,   2.  ,   2.  ,   2.  ,   2.75,   3.5 ,   6.7 ,   5.  ,
          5.  ,   2.3 ,   1.5 ,   1.36,   1.63,   1.73,   2.  ,   1.61,
          2.  ,  10.  ,   3.16,   4.19,   2.56,   2.02,   4.  ,   1.44,
          2.  ,   5.  ,   2.  ,   2.  ,   4.  ,   2.01,   2.  ,   2.5 ,
          4.  ,   3.23,   3.41,   3.  ,   2.03,   2.23,   2.  ,   5.16,
          9.  ,   2.5 ,   6.5 ,   1.1 ,   3.  ,   1.5 ,   1.44,   3.09,
          2.2 ,   3.48,   1.92,   3.  ,   1.58,   2.5 ,   2.  ,   3.  ,
          2.72,   2.88,   2.  ,   3.  ,   3.39,   1.47,   3.  ,   1.25,
          1.  ,   1.17,   4.67,   5.92,   2.  ,   2.  ,   1.75,   3.  ]),
 array([ 1.01,  1.66,  3.5 ,  3.31,  3.61,  4.71,  2.  ,  3.12,  1.96,
         3.23,  1.71,  5.  ,  1.57,  3.  ,  3.02,  3.92,  1.67,  3.71,
         3.5 ,  2.54,  3.06,  1.32,  5.6 ,  3.  ,  5.  ,  6.  ,  2.05,
         3.  ,  2.5 ,  2.6 ,  5.2 ,  1.56,  4.34,  3.51,  4.  ,  2.55,
         4.  ,  3.5 ,  5.07,  2.5 ,  2.  ,  2.74,  2.  ,  2.  ,  5.14,
         5.  ,  3.75,  2.61,  2.  ,  3.5 ,  2.5 ,  2.  ,  2.  ,  3.  ,
         3.48,  2.24,  4.5 ,  5.15,  3.18,  4.  ,  3.11,  2.  ,  2.  ,
         4.  ,  3.55,  3.68,  5.65,  3.5 ,  6.5 ,  3.  ,  5.  ,  3.5 ,
         2.  ,  3.5 ,  4.  ,  1.5 ])]
fig, ax = plt.subplots()
ax.boxplot(day_tips)
ax.set_xticklabels(days)
output_40_1.png

午饭和晚饭,哪一顿顾客更愿意给小费(分类箱式图)

times = np.unique(data['time'].values)
times
array(['Dinner', 'Lunch'], dtype=object)
time_tips = []
for time in times:
    time_tips.append(data[data['time'] == time]['tip'].values)
time_tips
[array([  1.01,   1.66,   3.5 ,   3.31,   3.61,   4.71,   2.  ,   3.12,
          1.96,   3.23,   1.71,   5.  ,   1.57,   3.  ,   3.02,   3.92,
          1.67,   3.71,   3.5 ,   3.35,   4.08,   2.75,   2.23,   7.58,
          3.18,   2.34,   2.  ,   2.  ,   4.3 ,   3.  ,   1.45,   2.5 ,
          3.  ,   2.45,   3.27,   3.6 ,   2.  ,   3.07,   2.31,   5.  ,
          2.24,   2.54,   3.06,   1.32,   5.6 ,   3.  ,   5.  ,   6.  ,
          2.05,   3.  ,   2.5 ,   2.6 ,   5.2 ,   1.56,   4.34,   3.51,
          3.  ,   1.5 ,   1.76,   6.73,   3.21,   2.  ,   1.98,   3.76,
          2.64,   3.15,   2.47,   1.  ,   2.01,   2.09,   1.97,   3.  ,
          3.14,   5.  ,   2.2 ,   1.25,   3.08,   3.  ,   3.5 ,   1.  ,
          4.3 ,   3.25,   4.73,   4.  ,   1.5 ,   3.  ,   1.5 ,   2.5 ,
          3.  ,   2.5 ,   3.48,   4.08,   1.64,   4.06,   4.29,   3.76,
          4.  ,   3.  ,   1.  ,   4.  ,   2.55,   4.  ,   3.5 ,   5.07,
          2.5 ,   2.  ,   2.74,   2.  ,   2.  ,   5.14,   5.  ,   3.75,
          2.61,   2.  ,   3.5 ,   2.5 ,   2.  ,   2.  ,   3.  ,   3.48,
          2.24,   4.5 ,   1.61,   2.  ,  10.  ,   3.16,   5.15,   3.18,
          4.  ,   3.11,   2.  ,   2.  ,   4.  ,   3.55,   3.68,   5.65,
          3.5 ,   6.5 ,   3.  ,   5.  ,   3.5 ,   2.  ,   3.5 ,   4.  ,
          1.5 ,   3.41,   3.  ,   2.03,   2.23,   2.  ,   5.16,   9.  ,
          2.5 ,   6.5 ,   1.1 ,   3.  ,   1.5 ,   1.44,   3.09,   3.  ,
          2.72,   2.88,   2.  ,   3.  ,   3.39,   1.47,   3.  ,   1.25,
          1.  ,   1.17,   4.67,   5.92,   2.  ,   2.  ,   1.75,   3.  ]),
 array([ 4.  ,  3.  ,  2.71,  3.  ,  3.4 ,  1.83,  5.  ,  2.03,  5.17,
         2.  ,  4.  ,  5.85,  3.  ,  1.5 ,  1.8 ,  2.92,  2.31,  1.68,
         2.5 ,  2.  ,  2.52,  4.2 ,  1.48,  2.  ,  2.  ,  2.18,  1.5 ,
         2.83,  1.5 ,  2.  ,  3.25,  1.25,  2.  ,  2.  ,  2.  ,  2.75,
         3.5 ,  6.7 ,  5.  ,  5.  ,  2.3 ,  1.5 ,  1.36,  1.63,  1.73,
         2.  ,  4.19,  2.56,  2.02,  4.  ,  1.44,  2.  ,  5.  ,  2.  ,
         2.  ,  4.  ,  2.01,  2.  ,  2.5 ,  4.  ,  3.23,  2.2 ,  3.48,
         1.92,  3.  ,  1.58,  2.5 ,  2.  ])]
fig, ax = plt.subplots()
ax.boxplot(time_tips)
ax.set_xticklabels(times)
output_44_1.png

就餐人数是否会对慷慨度产生影响(分类箱式图)

size = np.unique(data['size'].values)
size
array([1, 2, 3, 4, 5, 6], dtype=int64)
size_tips = []
for number in size:
    size_tips.append(data[data['size'] == number]['tip'].values)
size_tips
[array([ 1.  ,  1.83,  1.  ,  1.92]),
 array([ 1.01,  3.31,  2.  ,  1.96,  3.23,  1.71,  1.57,  3.02,  3.92,
         4.08,  2.75,  2.23,  3.18,  2.  ,  2.  ,  4.3 ,  3.  ,  1.45,
         3.  ,  3.27,  2.54,  3.06,  1.32,  3.  ,  5.  ,  3.  ,  2.5 ,
         2.6 ,  1.56,  3.51,  1.5 ,  1.76,  3.21,  2.  ,  1.98,  2.47,
         2.01,  2.09,  1.97,  3.14,  5.  ,  2.2 ,  1.25,  3.08,  3.  ,
         2.71,  3.  ,  3.4 ,  5.  ,  2.03,  2.  ,  4.  ,  5.85,  3.  ,
         3.  ,  3.5 ,  1.  ,  4.3 ,  3.25,  4.  ,  1.5 ,  3.  ,  1.5 ,
         2.5 ,  3.  ,  3.48,  4.08,  1.64,  4.06,  4.29,  3.76,  4.  ,
         3.  ,  2.55,  3.5 ,  1.5 ,  1.8 ,  2.31,  1.68,  2.5 ,  2.  ,
         2.52,  1.48,  2.  ,  2.  ,  1.5 ,  2.83,  1.5 ,  2.  ,  3.25,
         1.25,  2.  ,  2.  ,  2.  ,  2.75,  3.5 ,  2.3 ,  1.5 ,  1.63,
         1.73,  2.  ,  2.5 ,  2.  ,  2.61,  2.5 ,  2.  ,  3.  ,  2.24,
         1.61,  2.  ,  3.16,  5.15,  3.18,  4.  ,  3.11,  2.  ,  2.  ,
         4.  ,  3.55,  5.65,  3.  ,  1.5 ,  4.19,  2.56,  2.02,  4.  ,
         1.44,  2.  ,  2.  ,  2.  ,  2.01,  2.  ,  2.5 ,  2.03,  2.23,
         2.5 ,  1.1 ,  1.5 ,  1.44,  2.2 ,  3.48,  1.58,  2.5 ,  2.  ,
         2.72,  2.88,  3.39,  1.47,  3.  ,  1.25,  1.  ,  1.17,  2.  ,
         2.  ,  1.75,  3.  ]),
 array([  1.66,   3.5 ,   1.67,   3.71,   3.5 ,   3.35,   3.6 ,   2.  ,
          3.07,   2.31,   5.  ,   2.24,   2.05,   2.64,   3.15,   3.  ,
          2.5 ,   4.  ,   4.  ,   2.18,   1.36,   2.74,   2.  ,   3.48,
         10.  ,   3.5 ,   3.5 ,   3.5 ,   4.  ,   4.  ,   3.23,   3.41,
          2.  ,   6.5 ,   3.  ,   3.  ,   4.67,   5.92]),
 array([ 3.61,  4.71,  3.12,  5.  ,  3.  ,  7.58,  2.34,  2.5 ,  2.45,
         5.6 ,  6.  ,  5.2 ,  4.34,  3.  ,  6.73,  3.76,  4.  ,  5.17,
         4.73,  5.07,  2.92,  2.  ,  2.  ,  3.75,  2.  ,  3.5 ,  4.5 ,
         3.68,  6.5 ,  5.  ,  4.  ,  3.  ,  5.16,  9.  ,  3.09,  3.  ,  2.  ]),
 array([ 5.  ,  5.14,  5.  ,  2.  ,  3.  ]),
 array([ 4.2,  6.7,  5. ,  5. ])]
fig, ax = plt.subplots()
ax.boxplot(size_tips)
ax.set_xticklabels(size)
output_48_1.png
group = data.groupby([data['sex'], data['smoker']])
group_list = np.unique(group.size().index)
group_list
array([('Female', 'No'), ('Female', 'Yes'), ('Male', 'No'), ('Male', 'Yes')], dtype=object)
data['myindex']= data.apply(lambda x:tuple([x[2],x[3]]),axis=1)
data.head()
Paste_Image.png
data_sex_smoker = data[['myindex','tip']]
data_sex_smoker.head()
Paste_Image.png
sex_smoker_tips = []
for group in group_list:
    sex_smoker_tips.append(data_sex_smoker[data_sex_smoker['myindex'] == group]['tip'].values)
sex_smoker_tips  
[array([ 1.01,  3.61,  5.  ,  3.02,  1.67,  3.5 ,  2.75,  2.23,  3.  ,
         3.  ,  2.45,  3.07,  2.6 ,  5.2 ,  1.5 ,  2.47,  3.  ,  2.2 ,
         1.83,  5.17,  3.25,  4.08,  1.  ,  4.  ,  3.5 ,  1.5 ,  1.8 ,
         2.92,  1.68,  2.52,  4.2 ,  2.  ,  2.  ,  2.83,  1.5 ,  2.  ,
         3.25,  1.25,  2.  ,  2.  ,  2.75,  3.5 ,  5.  ,  2.3 ,  1.5 ,
         1.36,  1.63,  5.14,  3.75,  2.61,  2.  ,  3.  ,  4.67,  3.  ]),
 array([ 1.  ,  3.14,  5.  ,  1.  ,  4.3 ,  2.5 ,  3.  ,  2.5 ,  3.48,
         4.  ,  3.  ,  1.61,  2.  ,  4.  ,  3.5 ,  3.5 ,  4.19,  5.  ,
         2.  ,  2.01,  2.  ,  2.5 ,  3.23,  2.23,  2.5 ,  6.5 ,  1.1 ,
         3.09,  3.48,  2.5 ,  2.  ,  2.88,  2.  ]),
 array([ 1.66,  3.5 ,  3.31,  4.71,  2.  ,  3.12,  1.96,  3.23,  1.71,
         1.57,  3.  ,  3.92,  3.71,  3.35,  4.08,  7.58,  3.18,  2.34,
         2.  ,  2.  ,  4.3 ,  1.45,  2.5 ,  3.27,  3.6 ,  2.  ,  2.31,
         5.  ,  2.24,  2.54,  3.06,  1.32,  5.6 ,  3.  ,  5.  ,  6.  ,
         2.05,  3.  ,  2.5 ,  1.56,  4.34,  3.51,  6.73,  2.64,  3.15,
         2.01,  1.97,  1.25,  4.  ,  3.  ,  2.71,  3.4 ,  2.03,  2.  ,
         4.  ,  5.85,  3.  ,  3.5 ,  1.5 ,  3.76,  3.  ,  4.  ,  2.55,
         5.07,  2.31,  2.5 ,  2.  ,  1.48,  2.18,  1.5 ,  6.7 ,  5.  ,
         1.73,  2.  ,  2.5 ,  2.  ,  2.74,  2.  ,  2.  ,  5.  ,  2.  ,
         3.5 ,  2.5 ,  2.  ,  3.48,  2.24,  4.5 ,  5.  ,  1.44,  9.  ,
         3.  ,  2.72,  3.39,  1.47,  1.25,  5.92,  1.75]),
 array([  3.  ,   1.76,   3.21,   2.  ,   1.98,   3.76,   2.09,   3.08,
          3.  ,   5.  ,   3.  ,   4.73,   4.  ,   1.5 ,   3.  ,   1.64,
          4.06,   4.29,   2.  ,  10.  ,   3.16,   5.15,   3.18,   4.  ,
          3.11,   2.  ,   2.  ,   3.55,   3.68,   5.65,   3.5 ,   6.5 ,
          3.  ,   2.  ,   4.  ,   1.5 ,   2.56,   2.02,   4.  ,   2.  ,
          2.  ,   4.  ,   4.  ,   3.41,   3.  ,   2.03,   2.  ,   5.16,
          3.  ,   1.5 ,   1.44,   2.2 ,   1.92,   1.58,   2.  ,   3.  ,
          3.  ,   1.  ,   1.17,   2.  ])]
fig, ax = plt.subplots()
ax.boxplot(sex_smoker_tips)
ax.set_xticklabels(group_list)
output_55_1.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容