背景与目的
数据集来源于2月份天猫真实销售数据,隐去关键字,综合分析天猫订单数据
数据字段说明
数据集有如下字段
[‘订单编号’, ‘总金额’, ‘买家实际支付金额’, ‘收货地址’, ‘订单创建时间’, '订单付款时间 ', ‘退款金额’]
字段说明:
订单编号:用数字递增隐去真实订单号
总金额:商品总价
买家实际支付金额:总金额 - 退款金额(在已付款的情况下),值为0时没有支付订单
收货地址:只保留省份地址
订单创建时间:订单下单时间
订单付款时间:用户支付时间
退款金额:付款后申请退款的金额。如无付过款,退款金额为0
订单读取及处理
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import os
warnings.filterwarnings('ignore')
data=pd.read_csv(r"F:/数据分析自学/实战/天猫真实销售数据//tmall_order_report.csv",engine = 'python',encoding = 'gbk')
#查看数据集基本前5
data.head()
#查看数据集基本最后五条条数据
data.tail()
#查看数据字段
data.cloumns
#观察字段发现收货地址与订单付款时间有空格,重命名方便数据处理
data = data.rename(columns = {
'收货地址 ':'收货地址','订单付款时间 ':'订单付款时间'})
data.column
#观察数据是否有重复值
data.duplicated().sum()
#观察数据是否有空值
data.isnull().sum()
通过漏斗图展示订单的转换率
1.构建漏斗图数据
#订单数量列表
data_funnel = dict()
#总订单数量
key = '总订单'
data_funnel[key] = len(data)
#付款订单数量
key = '付款订单'
# 付款时间不为空的,表示付过款
data_payed = data[data['订单付款时间'].notnull()]
data_funnel[key] = len(data_payed)
#到款订单数
key = '到款订单'
# 买家实际支付金额:总金额 - 退款金额(在已付款的情况下)
# 买家实际支付金额不为0的,说明订单商家收到过款
data_trans = data_payed[data_payed['买家实际支付金额'] != 0]
data_funnel[key] = len(data_trans)
#完全到款数量
key = '全额到款订单'
# 在付款的订单中,退款金额为0的,说明没有退款,表示全额收款
data_trans_full = data_payed[data_payed['退款金额'] == 0]
data_funnel[key] = len(data_trans_full)
data_funnel = pd.Series(data_funnel,name = "数量").to_frame()
data_funnel
2.构建漏斗图的转换比
#总体转换率
temp_data = data_funnel["数量"] / data_funnel.loc