Pyecharts(四) —— 黑色星期五用户画像
Python数据可视化
- Pyecharts(四) —— 黑色星期五用户画像
- 一、背景
- 二、数据可视化
- 2.1 年龄/性别的各自用户占比
- 2.2 婚姻状况/城市类别的占比
- 2.3 当前城市停留时间&性别的用户对应的平均消费
- 2.4 箱形图-购买力(性别/年龄)
Pyecharts(四) —— 黑色星期五用户画像
大家可以关注知乎或微信公众号的share16,我们也会同步更新此文章。
一、背景
该数据集包括了五十多万条黑色星期五购物消费记录,包括用户年龄、性别、婚姻状况、职业、购买金额等信息。
点此下载数据集
二、数据可视化
2.1 年龄/性别的各自用户占比
import pandas as pd
from pyecharts.charts import *
import pyecharts.options as opts
df = pd.read_csv('/XXXXXX/黑色星期五.csv')''' 性别:用户占比(a与a0,结果一致) '''
a = df.groupby(['Gender']).agg({'User_ID':pd.Series.nunique})
a0 = df[['User_ID','Gender']].drop_duplicates().groupby('Gender').count()
data_a = list(list(a.to_dict().values())[0].items())''' 年龄:用户占比 '''
b = df.groupby(['Age']).agg({'User_ID':pd.Series.nunique})
data_b = list(list(b.to_dict().values())[0].items())c = df.groupby(['Gender','Age']).agg({'User_ID':pd.Series.nunique})
开始画图:
p1 = Pie()
p1.add('',data_a,radius=['20%','30%'],center=['10%','50%'],label_opts=opts.LabelOpts(position='inside',formatter='{b}:{d}%'))
p1.set_global_opts(title_opts=opts.TitleOpts('用户占比-性别',pos_left='3%'),legend_opts=opts.LegendOpts(is_show=False))p2 = Pie()
p2.add('',data_b,radius=['20%','30%'],center=['30%','50%'],label_opts=opts.LabelOpts(is_show=False,formatter='{d}%'))
p2.set_global_opts(title_opts=opts.TitleOpts('用户占比-年龄',pos_left='23%'),legend_opts=opts.LegendOpts(is_show=False))''' 在折线图、柱状图、K线图中,{d}表示‘无’ '''
b = Bar()
b.add_xaxis(list(c.loc['F',:].index))
b.add_yaxis('F',list(c.loc['F',:].User_ID),stack='s1',label_opts=opts.LabelOpts(position='inside'))
b.add_yaxis('M',list(c.loc['M',:].User_ID),stack='s1',label_opts=opts.LabelOpts(position='inside'))
b.set_global_opts(title_opts=opts.TitleOpts('用户占比-性别&年龄',pos_left='60%'),legend_opts=opts.LegendOpts(pos_right='right'))''' 水平多图 '''
grid = Grid()
grid.add(b,grid_opts=opts.GridOpts(pos_left='45%'))
grid.add(p1,grid_opts=opts.GridOpts(pos_left='10%'))
grid.add(p2,grid_opts=opts.GridOpts(pos_left='30%'))
grid.render_notebook()''' 垂直多图 '''
#page = Page()
#page.add(p1,p2,b)
#page.render_notebook()
2.2 婚姻状况/城市类别的占比
''' 未婚/已婚 '''
a = df.groupby(['Marital_Status']).agg({'User_ID':pd.Series.nunique})
a.index = ['未婚','已婚']
data_a = list(list(a.to_dict().values())[0].items())''' 城市类别 '''
b = df.groupby(['City_Category']).agg({'User_ID':pd.Series.nunique})
c = df.groupby('City_Category').Purchase.sum()
data_b = list(list(b.to_dict().values())[0].items())
data_c = list(c.to_dict().items())
画图:
p1 = Pie()
p1.add('',data_a,radius=['20%','30%'],center=['20%','50%'],label_opts=opts.LabelOpts(formatter='{b}:{d}%'))
p1.set_global_opts(title_opts=opts.TitleOpts('用户占比-婚姻状况'),legend_opts=opts.LegendOpts(type_='plain',pos_top='10%',pos_left='left'))p2 = Pie()
p2.add('',data_b,radius=['20%','30%'],center=['50%','50%'],label_opts=opts.LabelOpts(formatter='{b}:{d}%'))
p2.set_global_opts(title_opts=opts.TitleOpts('用户占比-城市类别',pos_right='45%'),legend_opts=opts.LegendOpts(pos_top='10%',pos_right='right'))p3 = Pie()
p3.add('',data_c,radius=['20%','30%'],center=['80%','50%'],label_opts=opts.LabelOpts(formatter='{b}:{c}$'))
p3.set_global_opts(title_opts=opts.TitleOpts('消费占比-城市类别',pos_right='right'),legend_opts=opts.LegendOpts(is_show=False))''' 水平多图 '''
grid = Grid()
grid.add(p1,grid_opts=opts.GridOpts(pos_left='10%'))
grid.add(p2,grid_opts=opts.GridOpts(pos_left='30%'))
grid.add(p3,grid_opts=opts.GridOpts(pos_left='70%'))
grid.render_notebook()
2.3 当前城市停留时间&性别的用户对应的平均消费
d = df.groupby(['Gender','Stay_In_Current_City_Years']).Purchase.mean().round(0)b = Bar()
b.add_xaxis(list(d.loc['F',:].index))
b.add_yaxis('F',list(d.loc['F',:]),color='#FFCF43')
b.add_yaxis('M',list(d.loc['M',:]),color='#6CBEFD')
b.set_global_opts(xaxis_opts=opts.AxisOpts(name='当前城市\n停留时间'),yaxis_opts=opts.AxisOpts(name='平均消费',min_=8600))
b.render_notebook()
2.4 箱形图-购买力(性别/年龄)
df = pd.read_csv('/Users/ye/Desktop/黑色星期五.csv')
f = df.groupby(['Gender','Age','User_ID']).Purchase.mean().round(0).reset_index()
data_x = f.Age.unique().tolist()
data_f = [list(f[(f.Gender=='F') & (f.Age==i)].Purchase) for i in data_x]
data_m = [list(f[(f.Gender=='M') & (f.Age==i)].Purchase) for i in data_x]bp = Boxplot()
bp.add_xaxis(data_x)
''' bp.prepare_data:依次计算箱子的最小值、Q1、中位数、Q3、最大值opts.ItemStyleOpts.border_color的颜色与图例的颜色是一致的 '''
bp.add_yaxis('F',bp.prepare_data(data_f),itemstyle_opts=opts.ItemStyleOpts(color='#EEFDD3',border_color='#56C71C'))
bp.add_yaxis('M',bp.prepare_data(data_m),itemstyle_opts=opts.ItemStyleOpts(color='#FEF8D8',border_color='#D6A12D'))
bp.set_global_opts(legend_opts=opts.LegendOpts(legend_icon='circle'))
bp.render_notebook()
谢谢大家
Pyecharts(四) —— 黑色星期五用户画像相关推荐
- 大数据项目(四)————用户画像
原文地址:https://blog.csdn.net/Jorocco/article/details/81428996 1.用户画像概述 用来勾画用户(用户背景.特征.性格标签.行为场景等)和联系用户 ...
- 看完秒懂大数据用户画像!
来自:网络 什么是用户画像? 用户画像(User Profile),作为大数据的根基,它完美地抽象出一个用户的信息全貌,为进一步精准.快速地分析用户行为习惯.消费习惯等重要信息,提供了足够的数据基础, ...
- 金融行业如何用大数据构建精准用户画像?
原文地址:https://www.jianshu.com/p/6e0a0ca5948e 1. 什么是用户画像? 2. 用户画像的四阶段 用户画像的焦点工作就是为用户打"标签",而一 ...
- python客户画像_Python数据分析学习笔记05:用户画像
Python数据分析学习笔记05:用户画像 一.用户画像 用户画像是指根据用户的属性.用户偏好.生活习惯.用户行为等信息而抽象出来的标签化用户模型.通俗说就是给用户打标签,而标签是通过对用户信息分析而 ...
- 用户画像原理、技术选型及架构实现
这篇文章在宏观上很好地描述了用户画像的主要内容.(文章内的图片来源于不同帖子,侵删) 一. 什么是用户画像 用户画像是指根据用户的属性.偏好.生活习惯.行为等信息,抽象出来的标签化用户模型.通俗说就是 ...
- 用户研究:深度解析用户画像
"用户画像作为一种设计工具,可以很好得帮助设计师跳出"为自己设计"的惯性思维,聚焦目标用户,发现核心价值,赋能产品,在互联网各类型产品中有广泛的应用. 在产品研发过程中, ...
- 大数据学习-用户画像
一. 什么是用户画像 用户画像是指根据用户的属性.用户偏好.生活习惯.用户行为等信息而抽象出来的标签化用户模型.通俗说就是给用户打标签,而标签是通过对用户信息分析而来的高度精炼的特征标识.通过打标签可 ...
- 全网超详细!用户画像标签体系建设指南!
大家好,最近工作之余看了很多用户画像的文章,要么描述浅显.要么相对片面,对于数据分析人员来说算是窥中豹管. 今天我将结合日常工作实践和理解,整理了一份用户画像的文章,内容偏向数据分析方法论,个人觉得这 ...
- 如何用大数据构建精准用户画像?
什么是用户画像? 用户画像(User Profile),作为大数据的根基,它完美地抽象出一个用户的信息全貌,为进一步精准.快速地分析用户行为习惯.消费习惯等重要信息,提供了足够的数据基础,奠定了大数据 ...
最新文章
- 利用反射,实现动态调用winform窗体
- vue element table
- 万圣节后的早晨九数码游戏——双向广搜
- 有哪些在朋友圈发会被秒赞的文案?
- android opencv中图像分割,opencv在android平台下的开发【4】-图像滤波详解
- 谈谈我对攻读计算机研究生的看法(转一个牛人文章)
- 一款强大的通讯录管理软件,Cardhop让你管理和编辑联系人更加方便和多样化
- 研究生学术英语写作网课答案
- SEO工具脚本,Python百度下拉框关键词采集工具
- mac下面如何修改只读文件(Read-only file system)
- linux系统的7种banding方式
- OpenCV-Python击中击不中HITMISS形态变换详解
- 【金猿案例展】某远程教育机构——以用户为中心 打造优势教学内容和智慧化学习产品...
- ppt幻灯片如何与母版背景一块复制到新幻灯片
- 牛顿法与牛顿下山法(切线法)
- arduino摄像头监控_如何使用Arduino和Pusher制作实时光监控器
- 阅读笔记 |《哲学·科学·常识》陈嘉映
- activiti学习01
- FL Studio2020最新中文直装版水果软件
- java学生-成绩关联实体_java画统计图