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

文章目录

  • 1. 数据处理
    • 1.1 导入模块
    • 1.2 读取数据
    • 1.3 查看数据集大小
    • 1.4 查看索引、数据类型和内存信息
    • 1.5 根据日期,增加星期列
  • 2. 可视化
    • 2.1 一周每天各时段订单数量散点图
    • 2.2 一周各天订单数量分布
    • 2.3 天猫订单全国地图分布
  • 3. 项目在线运行地址
  • 推荐阅读

大家好,我是 【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)

Pandas+Pyecharts | 20000+天猫订单数据可视化_第1张图片

1.3 查看数据集大小

df.shape

(28010, 6)

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

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

df.info()

Pandas+Pyecharts | 20000+天猫订单数据可视化_第2张图片

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

1.5 根据日期,增加星期列

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

Pandas+Pyecharts | 20000+天猫订单数据可视化_第3张图片

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,
)

Pandas+Pyecharts | 20000+天猫订单数据可视化_第4张图片

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

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

2.2 一周各天订单数量分布

Pandas+Pyecharts | 20000+天猫订单数据可视化_第5张图片

从极坐标图可以更清晰的看出:
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))
)

Pandas+Pyecharts | 20000+天猫订单数据可视化_第6张图片

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当打之年” ,希望大家可以喜欢
在这里插入图片描述

你可能感兴趣的:(Python可视化系列,Pyecharts系列,python,数据分析)