11-天猫订单数据分析

目录

前言

一、导入

二、使用步骤

1.数据清洗

2.对订单状况进行分析

3.每种订单数占比情况

饼图:

不同省份订单分析地图:

不同省份金额分析柱状图:

散点图:

总结


前言

天猫订单数据分析可以从多个角度进行分析,以下是一些常见的分析维度和方法:

  1. 基本统计分析:可以对订单数量、销售额、平均订单金额等进行基本统计分析,以了解整体的销售情况和趋势。

  2. 地域分析:可以根据订单的收货地址, 分析订单的地域分布情况,了解不同地区的销售情况和潜力。

  3. 时间分析:可以根据订单的下单时间、付款时间等,进行时间分析,了解不同时间段的订单量和销售额变化情况,以及不同时间段的用户行为和消费习惯。

  4. 用户行为分析:可以根据用户的购买频次、购买金额、购买种类等,进行用户行为分析,了解用户的购买习惯和偏好,以及不同用户群体的消费特征。

  5. 产品分析:可以根据产品的销售数量、销售额、销售排名等,对产品进行分析,了解产品的市场表现和受欢迎程度,进而指导产品的进一步发展和优化。

  6. 渠道分析:可以根据不同的营销渠道,如搜索引擎、社交媒体等,进行渠道分析,了解不同渠道的转化率、ROI等指标,为优化营销策略提供依据。


一、导入

复制代码
import numpy as np
import pandas as pd

二、使用步骤

1.数据清洗

代码如下(示例):

python 复制代码
data = pd.read_excel(r'C:\Users\B\Desktop\天猫订单.xlsx')
data.head()

data.info()

data.describe(include='all')

# 删除重复值
data.drop_duplicates(inplace=True)

data['星期'] = data['订单付款时间'].dt.dayofweek+1
data['小时'] = data['订单付款时间'].dt.hour
data


data['收货地址'].unique()  # 获取唯一值

data['收货地址'] = data['收货地址'].str.replace('上海','上海市')
data['收货地址'] = data['收货地址'].str.replace('重庆','重庆市')
data['收货地址'] = data['收货地址'].str.replace('北京','北京市')
data['收货地址'] = data['收货地址'].str.replace('天津','天津市')

2.对订单状况进行分析

代码如下(示例):

python 复制代码
# 有效订单:有付款,没有退款
valid_order = data[(data['订单付款时间'].notnull()) & (data['退款金额']==0)]
valid_order



# 退款订单:有付款,有退款
refund_order = data[data['退款金额']>0]
refund_order



# 未付款订单:没有付款
unpaid_order = data[data['订单付款时间'].isnull()]
unpaid_order   # NaT not a time 时间空值  NaN  not a number 数字空值

3.每种订单数占比情况

复制代码
from pyecharts.charts import *
import pyecharts.options as opts

饼图:

python 复制代码
pie_data = [('有效订单',len(valid_order)),('退款订单',len(refund_order)),('未付款订单',len(unpaid_order))]
pie_data




pie =(
    Pie()
    .add('订单',pie_data,
        label_opts=opts.LabelOpts(formatter='{b}:{d}%',font_size=15))
    .set_global_opts(title_opts=opts.TitleOpts(title='各订单占比分析',
                                               title_textstyle_opts=opts.TextStyleOpts(font_size=30,color='green'))
                    )
)
pie.render_notebook()

不同省份订单分析地图:

python 复制代码
data2 = data[data['订单付款时间'].notnull()]

# 按省份统计订单量 name='订单量'把原来的值列改列名为'订单量'
province_order_count = data2.groupby('收货地址')['订单金额'].count().reset_index(name='订单量') 



# 转成数据对
data_pair = dict(zip(province_order_count['收货地址'].tolist(),province_order_count['订单量'].tolist()))

data_pair



# 全国订单量地图

map = (
    Map()
    .add("",
    [list(x) for x in data_pair.items()],
         maptype='china',
         is_map_symbol_show=False
    )
    # 视角配置项 --- 可选项
    .set_global_opts(
        visualmap_opts=opts.VisualMapOpts(is_show=True,min_=0,max_=3100,range_color=['red','orange','yellow','green','blue','indigo','violet'])
    )
    # 设置每块的阴影 
    .set_series_opts(itemstyle_opts=opts.TextStyleOpts(shadow_color="rgba(255,255,255,0.6)",shadow_blur=20)
    )
)

map.render_notebook()

不同省份金额分析柱状图:

python 复制代码
province_payment = data2.groupby('收货地址')[['订单金额','实付金额','退款金额']].sum().reset_index()
province_payment



# 把单位改成万
province_payment['订单金额']= province_payment['订单金额']/10000
province_payment['实付金额']= province_payment['实付金额']/10000
province_payment['退款金额']= province_payment['退款金额']/10000
# 按订单金额进行降序排序
province_payment.sort_values(ascending=False,by='订单金额',inplace=True)



bar = (
    Bar()
    .add_xaxis(province_payment['收货地址'].tolist())
    # stack=True 柱状图堆叠  category_gap柱子间的间隙的比例
    .add_yaxis('实付金额',round(province_payment['实付金额'],2).tolist(),stack=True,category_gap='30%')
    .add_yaxis('退款金额',round(province_payment['退款金额'],2).tolist(),stack=True,category_gap='30%')
    
    .set_global_opts(
        xaxis_opts=opts.AxisOpts(name='省份',axislabel_opts={'rotate':90}),#给x轴添加名称,并旋转x轴标签
        datazoom_opts=[opts.DataZoomOpts()] # 缩放条
    )
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False)) # 去掉柱状图标签
)

# 订单金额 
effect = (
    EffectScatter()
    .add_xaxis(province_payment['收货地址'].tolist())
    .add_yaxis('订单金额',round(province_payment['订单金额'],2).tolist())
    .set_series_opts(label_opts=opts.LabelOpts(position='top'))
)
# 层叠图
overlap = bar.overlap(effect)
grid = Grid()
grid.add(overlap,grid_opts=opts.GridOpts(pos_top='35%'))
grid.render_notebook()

散点图:

python 复制代码
effect = (
    EffectScatter()
    .add_xaxis(province_payment['收货地址'].tolist())
    .add_yaxis('订单金额',round(province_payment['订单金额'],2).tolist())
    .set_series_opts(label_opts=opts.LabelOpts(position='top'))
)
effect.render_notebook()

总结

以上只是一些常见的分析维度和方法,具体的分析内容和方法还需要根据实际情况来确定,同时要结合实际业务场景和需求,进行深入的数据分析和挖掘。

相关推荐
咋吃都不胖lyh35 分钟前
SQL-多对多关系
android·mysql·数据分析
liliangcsdn2 小时前
LLM时代基于unstructured解析非结构化pdf
linux·服务器·数据分析
在云上(oncloudai)2 小时前
深入解析 Amazon Athena:云上高效数据分析的关键引擎
数据挖掘·数据分析
咋吃都不胖lyh3 小时前
MySQL 多表查询中,联合查询(UNION) 和子查询
mysql·数据分析
B站_计算机毕业设计之家4 小时前
机器学习实战项目:Python+Flask 汽车销量分析可视化系统(requests爬车主之家+可视化 源码+文档)✅
人工智能·python·机器学习·数据分析·flask·汽车·可视化
SelectDB6 小时前
Apache Doris 内部数据裁剪与过滤机制的实现原理
数据库·数据分析·github
SelectDB6 小时前
岚图汽车 x Apache Doris : 海量车联网数据实时分析实践
数据分析·github·数据可视化
CM莫问7 小时前
推荐算法之粗排
深度学习·算法·机器学习·数据挖掘·排序算法·推荐算法·粗排
ONE_Gua8 小时前
Wireshark常用过滤规则
前端·后端·数据挖掘
葡萄城技术团队11 小时前
零基础上手数据分析工具:从入门到实操全指南
数据分析