Pandas+Pyecharts | 20000+天猫订单数据可视化


大家好,我是 👉 【Python当打之年】

本期我们通过分析 20000+条天猫实际订单数据,看看全国哪里的朋友订单量比较大,以及哪些时段订单量大,希望对你有所帮助。

涉及到的库:

  • Pandas — 数据处理

  • Pyecharts — 数据可视化

可视化部分:

  • Scatter — 散点图

  • Map — 地图

  • Polar — 极坐标图

1. 数据处理

1.1 导入模块

import pandas as pd
from pyecharts.charts import Scatter
from pyecharts.charts import Polar
from pyecharts.charts import Map
from pyecharts import options as opts
from pyecharts.commons.utils import JsCode
from pyecharts.globals import ThemeType

可视化部分需要用到 pyecharts==1.9.0,已安装其他低版本的需要升级,如果未安装过pyecharts,直接pip安装就是最新版本。

1.2 读取数据

df = pd.read_excel('天猫订单.xlsx')
df.head(10)

在这里插入图片描述

1.3 查看数据集大小

df.shape

(28010, 6)

一共有 28010条 数据,包含:订单创建时间、订单付款时间、订单金额、实付金额、退款金额、收货地址 等6个字段。

1.4 查看索引、数据类型和内存信息

df.info()

在这里插入图片描述

订单付款时间有缺失,说明有部分顾客咨询过或者有购买迹象等等,但是因为某些原因没有完成付款(属于潜在客户)

1.5 根据日期,增加星期列

df['星期'] = df['订单创建时间'].dt.dayofweek+1
df.head(5)

在这里插入图片描述

2. 可视化

2.1 一周每天各时段订单数量散点图

single_axis, titles = [], []
scatter = Scatter(init_opts=opts.InitOpts(width='1000px', height='800px', theme='light',bg_color='#0d0735'))
for idx, day in enumerate(weeks[::-1]):
    scatter.add_xaxis(xaxis_data=hours)
    single_axis.append({'left': 100,
                        'nameGap': 20,
                        'nameLocation': 'start',
                        'type': 'category',
                        'boundaryGap': False,
                        'data': hours,
                        'top': '{}%'.format(idx * 100 / 7 + 5),
                        'height': '{}%'.format(100 / 7 - 10),
                        'gridIndex': idx,
                        'axisLabel': {'interval': 2,'color':'#9FC131'},
                        })
    titles.append(dict(text=day,top='{}%'.format(idx * 100 / 7 + 6), left='2%',
                       textStyle=dict(color='#fff200')))
    scatter.add_yaxis('',
                    y_axis=[int(item[2]) for item in allinfo if item[0] == 7-idx],
                    symbol_size=JsCode('function(p) { return p[1] * 0.15;}'),
                    label_opts=opts.LabelOpts(is_show=False),
                    )
    scatter.options['series'][idx]['coordinateSystem'] = 'singleAxis'
    scatter.options['series'][idx]['singleAxisIndex'] = idx

scatter.options['singleAxis'] = single_axis
scatter.set_global_opts(
    xaxis_opts=opts.AxisOpts(is_show=False),
    yaxis_opts=opts.AxisOpts(is_show=False),
    title_opts=titles,
)

在这里插入图片描述

从散点图可以很明确的看出:

1、周二至周五的成交订单较周一和周日的订单量要明显的多
2、一天中上午9点-12点和晚上8点-10点这两个时段的订单量较其他时段更多,尤其是晚上8点-10点时段。

2.2 一周各天订单数量分布

在这里插入图片描述

从极坐标图可以更清晰的看出:
1、周二和周五的成交订单均接近5000单,占总订单量的35%左右
2、周一和周日大家的购物欲比较低,大概有2500单,占总订单量的9%左右

2.3 天猫订单全国地图分布

map_chart.add('',
              [list(z) for z in zip(area_group.index.values.tolist(), area_group['数量'].values.tolist())],
              maptype='china',
              is_map_symbol_show=False,
              label_opts=opts.LabelOpts(is_show=True,color='red'),
              itemstyle_opts={
                  'normal': {
                      'shadowColor': 'rgba(0, 0, 0, .5)', # 阴影颜色
                      'shadowBlur': 5, # 阴影大小
                      'shadowOffsetY': 0, # Y轴方向阴影偏移
                      'shadowOffsetX': 0, # x轴方向阴影偏移
                      'borderColor': '#fff'
                  }
              }
              )
map_chart.set_global_opts(
    visualmap_opts=opts.VisualMapOpts(
        is_show=True,
        is_piecewise=True,
        min_ = 0,
        max_ = 3500,
        split_number = 7,
        series_index=0,
        pos_top='70%',
        pos_left='10%',
        range_color=['#9ecae1','#6baed6','#4292c6','#2171b5','#08519c','#08306b','#d4b9da','#c994c7','#df65b0','#e7298a','#ce1256','#980043','#67001f']
    ),
    tooltip_opts=opts.TooltipOpts(
        is_show=True,
        trigger='item',
        formatter='{b}:{c}'
    ),
    title_opts=opts.TitleOpts(title='天猫订单全国地图分布',subtitle='制图@公众号:Python当打之年',pos_left='center',pos_top='5%',
            title_textstyle_opts=opts.TextStyleOpts(color='#fff200',font_size=20))
)

在这里插入图片描述

3. 项目在线运行地址

篇幅原因,部分代码未展示,在线运行地址: 【点我跳转】


以上就是本期为大家整理的全部内容了,赶快练习起来吧,原创不易,如有疑问可后台联系小编,喜欢的朋友可以点赞、收藏也可以分享注明出处)让更多人知道。

推荐阅读

【Pandas+Pyecharts | 广州市已成交房源信息数据可视化】
【Pandas+Pyecharts | 40000+条考研信息数据可视化】
【Pandas+Pyecharts | 某直聘平台招聘信息数据可视化】
【Pandas+Pyecharts | 医院药品销售数据可视化】
【爬取《白蛇2:青蛇劫起》20000+影评数据分析可视化】
【可视化 | Python分析中秋月饼,这几种口味才是yyds!!!】
【123个Pandas常用基础指令,真香!】
【爬虫+可视化 | 动态展示2020东京奥运会奖牌世界分布】
【Pandas+Pyecharts | 北京某平台二手房数据分析+可视化】
【Pandas+Pyecharts | 2021中国大学综合排名分析+可视化】
【可视化 | Python绘制高颜值台风地理轨迹图】
【可视化 | 用Python分析近5000个旅游景点,告诉你假期应该去哪玩】
【可视化 | Python精美地图动态展示近20年全国各省市GDP】
【可视化 | Python陪你过520:在你身边,你在身边】
【爬虫 | Python送你王者荣耀官网全套皮肤】
【技巧 | 20个Pycharm最实用最高效的快捷键(动态展示)】
【技巧 | 5000字超全解析Python三种格式化输出方式–% / format / f-string】
【技巧 | python定时发送邮件(自动添加附件)】

文章首发微信公众号 “Python当打之年” ,希望大家可以喜欢
在这里插入图片描述

  • 3
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
数据可视化大屏是一种将数据通过图、地图、文字、动画等形式展示在大屏幕上的数据展示方式。其目的是为了让数据更直观、更易于理解,并且可以快速发现数据的规律和趋势。 数据可视化大屏通常由以下几个部分组成: 1. 数据源:数据可视化大屏需要从各种数据获取数据,如数据库、文件、API接口等。 2. 数据处理:数据处理是数据可视化大屏的核心,主要包括数据清洗、数据预处理、数据分析等。 3. 可视化展示:可视化展示是数据可视化大屏的重点,主要通过图、地图、文字、动画等形式展示数据。 4. 交互式操作:交互式操作是数据可视化大屏的亮点,用户可以通过鼠标、键盘或触摸屏等方式与大屏幕进行交互,实现数据的深度挖掘和分析。 实现数据可视化大屏通常需要以下技术: 1. 数据库技术:数据可视化大屏需要从各种数据获取数据,因此需要掌握数据库技术。 2. 数据处理技术:数据可视化大屏需要对数据进行清洗、预处理和分析,因此需要掌握数据处理技术,如Python、R等编程语言。 3. 可视化技术:可视化展示是数据可视化大屏的重点,需要掌握各种可视化库和框架,如D3.js、Echarts等。 4. 前端技术:数据可视化大屏需要在大屏幕上进行展示,因此需要掌握前端技术,如HTML、CSS、JavaScript等。 综上所述,实现数据可视化大屏需要掌握多种技术,需要有较强的技术实力和项目经验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Python当打之年

您的鼓励是我创作的最大动力!

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

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

打赏作者

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

抵扣说明:

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

余额充值