数据分析之超市订单分析

数据分析方法实验:超市订单分析。
要求如下:
在这里插入图片描述
给定原数据如下图所示:
在这里插入图片描述
代码如下:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False

data=pd.read_csv('F:/学习文件/数据分析方法/order.csv',engine='python')
#查看基本的订单信息
print(data.describe())
print(data.info())
#异常值处理

id=data.loc[:,"销量"]>0 #将所有销量大于0的行提取出来,剔除异常值
data=data.loc[id,:]

def Chanpinleibie():##销量前20的畅销产品类别
    print("..........销量前20的畅销产品类别..........")
    ans=data.groupby(by="类别ID")['销量'].sum().sort_values(ascending=False)[:20]
    print(ans)

def Chanpin():##销量前20的畅销产品
    print("..........销量前20的畅销产品..........")
    ans=data.groupby(by="商品ID")['销量'].sum().sort_values(ascending=False)[:20]
    print(ans)

def Get_money():#求不同门店的销售额占比,绘制饼图
    print("..........计算销售额..........")
    data.loc[:,'销售总金额']=data.loc[:,'单价']*data.loc[:,'销量']
    ans=data.groupby(by="门店编号")["销售总金额"].sum().sort_values(ascending=False)
    print("每个门店的销售额占比为:")
    ret=ans/ans.sum()*100.0
    cnt=0
    for i in ret:
        print(ret.index[cnt]+" "+'{:.5f}%'.format(i))
        cnt+=1
    ##绘制饼图
    plt.title("不同门店的销售额占比")
    plt.pie(ret.values, labels=ret.index)
    plt.show()

def Gaofeng():#求超市的客流高峰期
    #观察发现,有的订单是重复的,所以需要对订单去重
    data.drop_duplicates(subset='订单ID',inplace=True)
    #转换成交时间为pandas默认的时间类型
    data.loc[:,'成交时间'] = pd.to_datetime(data.loc[:,'成交时间'])
    #提取成交时间的中的小时,客流量高峰期精确到小时
    data.loc[:,'小时'] = [i.hour for i in data.loc[:,'成交时间']]
    #按照小时分组,统计每个小时的订单量
    ans=data.groupby(by="小时")['订单ID'].count()
    ans=ans.sort_index(ascending=True)
    plt.title("不同时间订单情况")
    x=ans.index
    y=ans.values
    ##绘制条形图
    plt.bar(x,y)
    plt.xlabel("时间")
    plt.ylabel("订单数")
    plt.show()
    print("不同时间段订单总数为:")
    print(ans)

ps:代码可能会有不对的地方,大家借鉴着看吧。我写这篇博客的目的就是记录一下python的用法。
努力加油a啊,(o)/~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

starlet_kiss

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值