株洲市区网站建设公司,wordpress博客数据放在哪里的,那些知名网站是外包做的,做网站怎么买断源码前言
大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 什么是数据分析
明确目的–获得数据(爬虫#xff0c;现有#xff0c;公开的数据)–数据预处理——数据可视化——结论 准备
环境使用#xff1a;
在开始写我们的代码之前#xff0c;我们要准备好运行代码的程序 Anacon…前言
大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 什么是数据分析
明确目的–获得数据(爬虫现有公开的数据)–数据预处理——数据可视化——结论 准备
环境使用
在开始写我们的代码之前我们要准备好运行代码的程序 Anaconda (python3.9) – 识别我们写的代码
开发工具 jupyter notebook – 代码编辑功能敲代码的工具
不会安装的可以文末名片我获取哦
数据准备:
本数据集共收集了发生在一个月内的28010条数据包含以下 7个字段说明
订单编号订单编号
总金额订单总金额
买家实际支付金额总金额 - 退款金额在已付款的情况下。金额为0在未付款的情况下
收货地址各个省份
订单创建时间下单时间
订单付款时间付款时间
退款金额付款后申请退款的金额。如无付过款退款金额为0
分析目的
订单每个环节的转化转化率
订单成交的时间按天趋势(按实际成交
订单数在地图上的分布
订单读取及处理
读取数据
import pandas as pd
df pd.read_csv(tmall_order_report.csv,encodinggbk)
df.head()处理数据 缺失值
df.isnull().sum()
# 订单付款时间 有2923个缺失值属于正常现象说明这些单位付过款无需处理订单转化率-漏斗图
计算每个环节的数据 将得到如下的数据 [[‘总订单数’, ‘28010’], [‘付款订单数’, ‘24087’], [‘到款订单数’, ‘18955’], [‘全额到款订单数’, ‘18441’]] 买家实际支付金额总金额 - 退款金额在已付款的情况下。金额为0在未付款的情况下 退款金额付款后申请退款的金额。如无付过款退款金额为0
订单总笔数 付过款的订单数
key 付款订单数# 付款时间不为空的表示付过款
df_payed df[df[订单付款时间].notnull()]dict_convs[key] len(df_payed)len(df_payed)到款订单数
key 到款订单数# 买家实际支付金额总金额 - 退款金额在已付款的情况下
# 买家实际支付金额不为0的说明订单商家收到过款
df_trans df_payed[df_payed[买家实际支付金额] ! 0]dict_convs[key] len(df_trans)len(df_trans)# 漏斗图 Funnel
from pyecharts.charts import Funnel
from pyecharts import options as optsfunnel (Funnel().add(总体转化率,[list(z) for z in zip(df_convs.index,df_convs[总体转化率])],# 让外面的字体出现在图上面label_opts opts.LabelOpts(position inside))# 设置系列选项格式化输出.set_series_opts(tooltip_opts opts.TooltipOpts(formatter {a}br/{b}:{c}%))# 设置全局选项添加标题.set_global_opts(title_opts opts.TitleOpts(title 总体转化率))
)
funnel.render_notebook()那么这个的话就是我们的一个漏斗图我们可以看到天猫的一个总体转化率还是非常高的对吧
所以说像这个天猫他的一个对于商品的推荐还是做的非常不错的
单一环节转化率
# 添加单一环节转化率,每个环节除以上一环节name 单一环节转化率# shift(): 让整个列往下移动一个位置
# 那么移完位置之后就不可避免会出现第一个位置是空的
# 所以这里我们把第一个位置填数据
df_convs[单一环节转化率] df_convs[订单数].shift().fillna(28010.0)df_convs[单一环节转化率] round((df_convs[订单数]/df_convs[单一环节转化率]*100),0)
df_convsname 单一环节转化率funnel (Funnel().add(series_name name,data_pair [list(z) for z in zip(df_convs.index,df_convs[name])],label_opts opts.LabelOpts(position inside)).set_series_opts(tooltip_opts opts.TooltipOpts(formatter {a}br/{b}:{c}%))
)
funnel.render_notebook()整体订单数趋势
# 按到款订单统计# 将订单创建时间这一字段改成时间类型的数据
df_trans[订单创建时间] df_trans[订单创建时间].astype(datetime64)
# 然后让订单创建时间变成行标
df_transdf_trans.set_index(订单创建时间)
# 最后看一下前5行
df_trans.head()df_trans.resample(D)[订单编号].count().index.day.astype(str).tolist()# 重采样时间序列的内容# 统计每天的订单数量
se_trans_month df_trans.resample(D)[订单编号].count()
se_trans_month结论
2月上半个月企业多数未复工快递停运无法发货
下半个月随着企业复工逐渐增多订单数开始上涨
#订单平均价格
df_trans[买家实际支付金额].mean()销量区域分布-地理图
se_trans_map df_trans.groupby(收货地址)[订单编号].count()
se_trans_mapimport pyecharts.options as opts
from pyecharts.charts import Map# 展示地理分布图
map1 (Map().add(订单数,[list(i) for i in se_trans_map.items()],china).set_global_opts(visualmap_optsopts.VisualMapOpts(max_max(se_trans_map)*0.6)))
map1.render_notebook()尾语
好了今天的分享就差不多到这里了
完整代码、更多资源、疑惑解答直接点击下方名片自取即可。
对下一篇大家想看什么可在评论区留言哦看到我会更新哒(ง •_•)ง
喜欢就关注一下博主或点赞收藏评论一下我的文章叭 最后宣传一下呀~更多源码、资料、素材、解答、交流皆点击下方名片获取呀