当前位置: 首页 > news >正文

python数据分析案例——天猫订单综合分析

前言

大家早好、午好、晚好吖 ❤ ~欢迎光临本文章

什么是数据分析

明确目的–获得数据(爬虫,现有,公开的数据)–数据预处理——数据可视化——结论

准备

环境使用:

在开始写我们的代码之前,我们要准备好运行代码的程序

  • Anaconda (python3.9)

    –> 识别我们写的代码

开发工具:

  • jupyter notebook

    –> 代码编辑功能敲代码的工具

不会安装的可以文末名片+我获取哦 😎

数据准备:

本数据集共收集了发生在一个月内的28010条数据,包含以下:

7个字段说明

订单编号:订单编号

总金额:订单总金额

买家实际支付金额:总金额 - 退款金额(在已付款的情况下)。金额为0(在未付款的情况下)

收货地址:各个省份

订单创建时间:下单时间

订单付款时间:付款时间

退款金额:付款后申请退款的金额。如无付过款,退款金额为0

分析目的

订单每个环节的转化转化率

订单成交的时间(按天)趋势(按实际成交)

订单数在地图上的分布

订单读取及处理

读取数据

import pandas as pd
df = pd.read_csv('tmall_order_report.csv',encoding='gbk')
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 opts
funnel = (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_convs
name = '单一环节转化率'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_trans=df_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_map
import 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_opts=opts.VisualMapOpts(max_=max(se_trans_map)*0.6)))
map1.render_notebook()

尾语 💝

好了,今天的分享就差不多到这里了!

完整代码、更多资源、疑惑解答直接点击下方名片自取即可。

对下一篇大家想看什么,可在评论区留言哦!看到我会更新哒(ง •_•)ง

喜欢就关注一下博主,或点赞收藏评论一下我的文章叭!!!

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇👇

相关文章:

python数据分析案例——天猫订单综合分析

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 什么是数据分析 明确目的–获得数据(爬虫&#xff0c;现有&#xff0c;公开的数据)–数据预处理——数据可视化——结论 准备 环境使用&#xff1a; 在开始写我们的代码之前&#xff0c;我们要准备好运行代码的程序 Anacon…...

05- redis集群模式搭建(上) (包含云服务器[填坑])

目录 1. 准备环境: 2. 简介: -> 2.1 前言: -> 2.2 Redis集群架构实现了对redis的水平扩容 -> 2.3 redis cluster集群原理 3. 搭建后特别需要注意的问题 ->3.1 [重点]: 如果一个服务出现故障: 是否可以继续提供服务??? ---> 3.1.1 如果集群中故障re…...

【AI】YOLOV1原理详解

AI学习目录汇总 0、前言 YOLOv1~3作者是约瑟夫雷德蒙&#xff08;Joseph Chet Redmon&#xff09;&#xff0c;他的网站&#xff1a;https://pjreddie.com/ YOLOv1网站&#xff1a;https://pjreddie.com/darknet/yolov1/ YOLOv2网站&#xff1a;https://pjreddie.com/darknet…...

提高APP安全性的必备加固手段——深度解析代码混淆技术

APP 加固方式 Android APP 加固是优化 APK 安全性的一种方法&#xff0c;常见的加固方式有混淆代码、加壳、数据加密、动态加载等。下面介绍一下 Android APP 加固的具体实现方式。 混淆代码&#xff1a; 使用 ProGuard 工具可以对代码进行混淆&#xff0c;使得反编译出来的代…...

想让行车记录仪协助道路病害自动化检测?可以!

针对【RGB3DS道路表观病害信息智慧检测系统】&#xff0c;我们着重介绍过其与道路检测车做集成预装或者处理道路检测车数据的极大便利&#xff0c;其中之一便是可高效输出带有道路检测车桩号标记的病害报表&#xff0c;这是因为道路检测车数据本身具有规范性。 那么如果使用道…...

git上传大大大文件项目好折磨人

本来想把unity项目的源码上传上gitee啊&#xff0c;但是那个项目有1个多G&#xff0c;还是个半成品&#xff0c;要是写完&#xff0c;都不知道行不行 正常的上传 所用到的命令&#xff1a; 1、 git init 初始化&#xff0c;创建本地仓库 2、 git add . 添加到本地仓库 3、 git…...

java常见异常的处理方法

以下是一些常见的异常处理方法&#xff1a; 捕获和处理异常&#xff08;try-catch&#xff09;&#xff1a; 使用try-catch语句块可以捕获并处理异常。在try块中编写可能抛出异常的代码&#xff0c;然后在catch块中指定异常类型&#xff0c;以便捕获并处理异常。 try {// 可能抛…...

上传图片到阿里云服务器base64 上传

//上传图片到阿里云服务器 function upload_Ali($remoteImage){$imageData $this->n_img_base_64($remoteImage);if ($imageData ! false) {// 初始化 cURL 句柄$ch curl_init();// 设置请求 URL 和一些 cURL 选项curl_setopt($ch, CURLOPT_URL, http://dev.com/index/aja…...

【致敬未来的攻城狮计划】— 连续打卡第二十六天:瑞萨RA Cortex-M 内核RA2E1 RT-Thread BSP 启蒙知识

系列文章目录 由于一些特殊原因&#xff1a; 系列文章链接&#xff1a;&#xff08;其他系列文章&#xff0c;请点击链接&#xff0c;可以跳转到其他系列文章&#xff09;或者参考我的专栏“ 瑞萨MCU ”&#xff0c;里面是 瑞萨RA2E1 系列文章。 24.RA2E1的 DMAC——数据传输 …...

2023年5月8日-5月14日(方案C,下班UE视频教程为主)

目前&#xff0c;ue视频教程进行到了智 慧 城 市&#xff08;3.13&#xff09;&#xff0c;mysql(7.1)&#xff0c;tf1(4.11),蓝图反射(1.9)&#xff0c;moba&#xff08;1.5&#xff09;webapp&#xff08;2.4&#xff09;&#xff0c;mmoarpg(00A_04)&#xff0c;fps1_12(0:3…...

「MIAOYUN」:降本增效,赋能传统企业数字化云原生转型 | 36kr 项目精选

作为新经济综合服务平台第一品牌&#xff0c;36氪自2019年落地四川站以来&#xff0c;不断通过新锐、深度的商业报道&#xff0c;陪跑、支持四川的新经济产业。通过挖掘本土优质项目&#xff0c;36氪四川帮助企业链接更多资源&#xff0c;助力企业成长&#xff0c;促进行业发展…...

Python突破JS加密限制,进行逆向解密

前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! 目录标题 前言开发环境:模块使用:逆向目标逆向过程参数 JS 加密关键代码Python 登录关键代码尾语 &#x1f49d; 开发环境: Python 3.8 Pycharm 模块使用: time >>> 时间模块&#xff0c;属于内置&#xff0c;无…...

【Linux】exec函数族

目录 1、exec函数族的介绍2、exec相关函数 1、exec函数族的介绍 2、exec相关函数 #include <unistd.h> int execl(const char *pathname, const char *arg0, ... /* (char *)0 */ ); /* - path 需要指定的执行的文件的路径或者名称&#xff0c;相对路径or绝对路径- arg …...

OSQP二次规划求解库使用说明

OSQP二次规划求解库使用说明 贺志国 2023.5.10 1. 凸二次规划的一般表达式 m i n 1 2 x T P x q T x s . t . l ≤ A x ≤ u min \quad \frac{1}{2}x^T Px q^Tx \qquad s.t. \quad l \leq Ax \leq u min21​xTPxqTxs.t.l≤Ax≤u 其中&#xff0c; P P P称为内核矩阵&#x…...

Elasticsearch(一)

Elasticsearch&#xff08;一&#xff09; 初始elasticsearch 什么是elasticsearch elasticsearch是一款非常强大的开源搜索引擎&#xff0c;可以帮助我们从海量数据中快速查找到需要的内容 elasticsearch结合kibana、Logstash、Beats&#xff0c;也就是elastic stack&…...

深入探究Java中的枚举类型:定义、特性和应用

引言&#xff1a; 在Java编程中&#xff0c;枚举类型是一种强大而灵活的工具&#xff0c;用于定义一组具名的常量。它不仅提供了代码可读性和可维护性的优势&#xff0c;还为开发人员提供了一种更安全和结构化的方式来处理固定的常量集合。本文将深入探讨Java中的枚举类型&…...

linux密码忘了?一招解决

目录 一、前言 二、进入编辑界面 三、单用户模式 四、修改密码 五、更新信息 六、退出 七、验证 一、前言 版本&#xff1a;centos7.9、VMware15.5 在我们学习linux运行级别的时候&#xff0c;面试题可能会出如何找回root密码&#xff0c;下面来详细的介绍一波&#xff…...

苹果mac清理软件CleanMyMac X v4.13兼容13系统,堪称Mac最好的系统清理工具

CleanMyMac X for mac是MacOS上一款Mac清理优化工具&#xff0c;不仅包含各种清理功能&#xff0c;更是具有卸载器、维护、扩展、碎纸机这些实用功能&#xff0c;可以同时代替很多工具。它可以清理&#xff0c;优化&#xff0c;保养和监测您的电脑&#xff0c;确保您的Mac运行…...

FPGA实现Cordic算法求解arctan和sqr(x*2 + y* 2)

一. 简介 由于在项目中需要使用的MPU6050&#xff0c;进行姿态解算&#xff0c;计算中设计到**arctan 和 sqr(x2 y 2),**这两部分的计算&#xff0c;在了解了一番之后&#xff0c;发现Cordic算法可以很方便的一次性求出这两个这两部分的计算。另外也可以一次性求出sin和cos的…...

【最终截稿 | Springer 独立出版 | EI稳定检索】 2023年绿色建筑国际会议(ICoGB 2023)

会议简介 Brief Introduction 2023年绿色建筑国际会议(ICoGB 2023) 会议时间&#xff1a;2023年5月21日-23日 召开地点&#xff1a;瑞典斯德哥尔摩 大会官网&#xff1a;www.icogb.org ICoGB 2023将围绕“绿色建筑”的最新研究领域而展开&#xff0c;为研究人员、工程师、专家学…...

教师评估软件市场迎增长机遇:未来六年CAGR锁定6.7%,教育数字化转型添动能

据恒州诚思调研统计&#xff0c;2025年全球教师评估软件市场规模约30.58亿元&#xff0c;预计未来将持续平稳增长&#xff0c;到2032年市场规模将接近47.92亿元&#xff0c;未来六年复合年增长率&#xff08;CAGR&#xff09;为6.7%。在教育行业数字化转型加速的背景下&#xf…...

S2-Pro模型推理服务高可用部署:基于Docker与Kubernetes的架构

S2-Pro模型推理服务高可用部署&#xff1a;基于Docker与Kubernetes的架构 1. 为什么需要高可用部署 在实际生产环境中&#xff0c;AI模型推理服务的稳定性直接影响业务连续性。想象一下&#xff0c;当你的电商平台正在举行大促活动&#xff0c;AI推荐系统突然宕机&#xff0c…...

牙科手术显微镜市场:其中中国市场占比超15%

在口腔诊疗向精细化、微创化演进的进程中&#xff0c;牙科手术显微镜作为核心光学放大设备&#xff0c;凭借其高照度、高景深与高清晰度特性&#xff0c;成为提升根管治疗、牙周手术及种植修复等环节精准性的关键工具。该设备集成连续变倍观察、同轴照明、术野调焦及影像记录系…...

【深度剖析】从libgomp TLS内存分配冲突到scikit-learn在ARM平台的兼容性优化

1. ARM架构下TLS内存分配的底层原理 当你在ARM服务器上跑scikit-learn模型时&#xff0c;突然蹦出"cannot allocate memory in static TLS block"错误&#xff0c;这背后其实是线程本地存储&#xff08;TLS&#xff09;在作祟。想象每个线程都有自己专属的储物柜&…...

N_m3u8DL-CLI-SimpleG:Windows平台最简M3U8视频下载工具完全指南

N_m3u8DL-CLI-SimpleG&#xff1a;Windows平台最简M3U8视频下载工具完全指南 【免费下载链接】N_m3u8DL-CLI-SimpleG N_m3u8DL-CLIs simple GUI 项目地址: https://gitcode.com/gh_mirrors/nm3/N_m3u8DL-CLI-SimpleG 如果你正在寻找一款简单易用的M3U8视频下载工具&…...

亚洲美女-造相Z-Turbo算力适配实践:24G显存下支持batch_size=2高清图并行生成

亚洲美女-造相Z-Turbo算力适配实践&#xff1a;24G显存下支持batch_size2高清图并行生成 1. 快速了解亚洲美女-造相Z-Turbo 亚洲美女-造相Z-Turbo是一个专门针对亚洲女性形象生成优化的文生图模型&#xff0c;基于Z-Image-Turbo的LoRA版本进行深度定制。这个模型最大的特点是…...

告别重复造轮子:用快马AI一键生成嵌入式Modbus协议栈提升效率

作为一名嵌入式开发者&#xff0c;我经常需要为各种项目实现Modbus通信协议。每次从零开始编写协议栈不仅耗时&#xff0c;还容易引入低级错误。最近尝试用InsCode(快马)平台生成基础框架&#xff0c;效率提升明显&#xff0c;分享下具体实践过程。 传统开发痛点分析 在STM32项…...

3步实现AI智能背景移除:开源工具让透明GIF制作变得如此简单

3步实现AI智能背景移除&#xff1a;开源工具让透明GIF制作变得如此简单 【免费下载链接】backgroundremover Background Remover lets you Remove Background from images and video using AI with a simple command line interface that is free and open source. 项目地址:…...

对 OS:TEP 的 MLFQ 策略的一点思考

1.SJF 调度算法SJF 没啥好说的, 书上讲的很清楚了, SJF 就是最短任务优先原则, 其设计初衷是想解决 FIFO 的糟糕的周转时间的问题.但是, 正如书上所说, 这玩意主打一个秩序井然, 只能处理所有任务同时到队列的情况, 要是某堆进程不按这套路出牌, 那 SJF 立马完蛋, 书上就有一个…...

深入解析Python中ort.InferenceSession的底层实现与性能优化

1. 揭开ort.InferenceSession的神秘面纱 第一次接触ort.InferenceSession时&#xff0c;我完全被它的性能震惊了。作为一个用Python加载ONNX模型的标准入口&#xff0c;它看起来就是个普通的类实例化操作&#xff0c;但背后却隐藏着C和Python的完美协作。这种设计让开发者既能享…...