pandas 读取excel文件对数据简单清洗并用matplotlib 将数据展示

 

首先我们看下数据

 

接下来数据分析操作

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()

 

posted @ 2019-03-14 16:31  TheoldmanPickgarbage  阅读(1080)  评论(0编辑  收藏  举报