首先我们看下数据
接下来数据分析操作
import numpy as np import pandas as pd from matplotlib import pyplot as plt if __name__ == "__main__": #读取数据 df = pd.read_excel('tips.xlsx','sheet1') # print(df) #绘制散点图 证明推论,消费随着总账单的递增而递增 # df.plot(kind='scatter',x='tip',y='total_bill',color='red',label='bill_tip') # plt.show() #计算消费占总帐单的百分比 . df['pct'] = df.tip / df.total_bill * 100 #打印出消费占比高于30%的人群 # print(df[df.pct>30]) # print(df[df.pct>30].index) #过滤异常数据 默认axis=0 行级删除 df = df.drop('tip',axis=1) print(df) #计算小费占比分布 箱型图 # df.pct.plot(kind='box',label='tips pct%') # plt.show() #调查推论消费占比是否和性别有关 # df[['pct','sex']].boxplot(by='sex') # plt.show() #调查推论,小费占比是否和工作日休息日有关 # df[['pct','day']].boxplot(by='day') #调查推论,小费占比是否和吸烟有关 # df[['pct','smoker']].boxplot(by='smoker') #按男女分组 df_m = df[df.sex=='Male'] df_f = df[df.sex=='Female'] df_m[['pct','smoker']].boxplot(by='smoker') df_f[['pct','smoker']].boxplot(by='smoker') #查询消费比例与用餐时段关系 # df[['pct','time']].boxplot(by='time') plt.show()