数据分析案例-顾客购物数据可视化分析(文末送书5本)

🤵‍♂️ 个人主页:@艾派森的个人主页

✍🏻作者简介:Python学习者

🐋 希望大家多多支持,我们一起进步!😄

如果文章对你有帮助的话,

欢迎评论 💬点赞👍🏻 收藏 📂加关注+


目录

1.项目背景

2.数据集介绍

3.技术工具

4.导入数据

5.数据探索性分析

5.1分析不同性别的购物总价

5.2分析不同性别的购物差异

5.3分析年龄分布情况

5.4分析不同年龄段的购物差异

5.5分析不同性别/年龄/类别的支付方式

5.6分析消费最多的购物中心

5.7分析各年/月的购物总价

文末福利


1.项目背景

随着电子商务的蓬勃发展,顾客购物行为数据成为了企业获取市场洞察和制定营销策略的重要资源。企业收集的购物数据包括顾客的购买历史、产品浏览记录、交易金额、购买频率等信息。这些数据蕴含着大量有价值的信息,但纯粹的原始数据难以直观地理解和分析。

数据可视化是将数据转化为可视化图表、图形和图像的过程,可以帮助人们更直观地理解和分析数据。通过对顾客购物数据进行可视化分析,企业可以揭示购物行为的模式、趋势和关联关系,为决策制定提供依据。

通过购物数据可视化分析,企业可以了解以下方面的信息:

  1. 顾客行为洞察:通过可视化图表,企业可以了解顾客的购买偏好、产品偏好、购物渠道偏好等,帮助企业优化产品定位和市场推广策略。

  2. 购物路径分析:通过可视化展示顾客在购物过程中的浏览路径和转化率,企业可以发现购物过程中的瓶颈和流失点,并优化用户体验和销售流程。

  3. 产品销售分析:通过可视化呈现产品销售量、销售额、销售趋势等数据,企业可以评估产品的市场表现,调整库存和供应链管理,以满足市场需求。

  4. 顾客细分与个性化营销:通过可视化分析购物数据,企业可以识别不同顾客群体的特征和行为模式,从而进行细分和个性化营销,提高销售转化率和顾客忠诚度。

综上所述,顾客购物数据的可视化分析可以帮助企业更好地理解顾客行为、优化营销策略、改进用户体验,从而提高销售业绩和竞争力。

2.数据集介绍

本数据集来源于kaggle,原始数据集共有99457条,10个特征变量,各变量含义解释如下:

Invoice_no:发票编号。标称。字母"I"和唯一分配给每个操作的 6 位整数的组合。

customer_id:客户编号。标称。字母"C"和唯一分配给每个操作的 6 位整数的组合。

gender:客户性别的字符串变量。

age:顾客年龄的正整数变量。

category:所购买产品的类别的字符串变量。

quantity:每笔交易的每种产品(商品)的数量。数字。

price:单价。数字。每单位产品价格以土耳其里拉 (TL) 表示。

payment_method:用于交易的支付方式(现金、信用卡或借记卡)的字符串变量。

Invoice_date:发票日期。生成交易的日期。

Shopping_mall:进行交易的购物中心名称的字符串变量。

3.技术工具

Python版本:3.9

代码编辑器:jupyter notebook

4.导入数据

首先导入本次实验用到的第三方库,然后加载数据集

python 复制代码
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from datetime import datetime
import calendar
from calendar import month_name as mn
import warnings
warnings.filterwarnings('ignore')

df = pd.read_csv('customer_shopping_data.csv')
df.head()

查看数据大小

查看数据基本信息

查看数值型变量描述性统计

查看非数值型变量描述性统计

创建总价变量,便于后面分析

5.数据探索性分析

5.1分析不同性别的购物总价

python 复制代码
sns.barplot(data = df,x='gender',y='Item_Total',estimator = sum)
plt.title('Gender wise shopping')
plt.show()

从图可以看出,女性似乎比男性更喜欢购物。

5.2分析不同性别的购物差异

python 复制代码
plt.figure(figsize=(10,6))
sns.barplot(data=df,x='category',y='Item_Total',hue = 'gender',estimator = sum)
plt.title('Category Wise Shopping')
plt.show()

从上图中可以看出,在同一类别中,男性的购物率大约是女性的60-70%。此外,主要的购物类别包括服装、鞋子和科技产品。

5.3分析年龄分布情况

python 复制代码
# 定义一个函数,将年龄列划分为不同的组
def age_to_group(x):
    if (x<=20):
        return '< 20'
    elif ((x>20) & (x<=30)):
        return '20 to 30'
    elif ((x>30) & (x<=40)):
        return '30 to 40'
    elif ((x>40) & (x<50)):
        return '40 to 50'
    elif ((x>50) & (x<60)):
        return '50 to 60'
    else:
        return '> 60'
df['age_group'] = df['age'].apply(age_to_group)

# 按特定顺序创建年龄组列表,以便在横轴图的x轴上相应地显示
agegroup = ['< 20','20 to 30','30 to 40','40 to 50','50 to 60', '> 60']
plt.figure(figsize=(10,6))

sns.barplot(data=df,x='age_group',y='Item_Total',estimator = sum, order = agegroup)
plt.title('Age Wise Shopping')
plt.show()
python 复制代码
plt.figure(figsize=(10,6))
sns.barplot(data=df,x='age_group',y='Item_Total',hue = 'gender',estimator = sum, order = agegroup)
plt.title('Age & Gender Wise Shopping')
plt.show()

从图可以看出60岁以上的顾客购物最多,且不管是哪个年龄段都是女性顾客多于男性顾客。

5.4分析不同年龄段的购物差异

python 复制代码
plt.figure(figsize=(10,6))
sns.barplot(data=df,x='age_group',y='Item_Total',hue = 'category',estimator = sum, order = agegroup)
plt.title('Age & Category Wise Shopping')
plt.show()

从图可以看出,不管是哪个年龄段,服装/鞋子/食物这三样东西购买频次都是排在前三的,且远大于其他购物。

5.5分析不同性别/年龄/类别的支付方式

python 复制代码
plt.figure(figsize=(10,6))
sns.barplot(data=df,x='gender',y='Item_Total',hue = 'payment_method',estimator = sum)
plt.title('Payment method Wise Shopping')
plt.show()
python 复制代码
plt.figure(figsize=(10,6))
sns.barplot(data=df,x='category',y='Item_Total',hue = 'payment_method',estimator = sum)
plt.title('Category & Payment mode Wise Shopping')
plt.show()
python 复制代码
plt.figure(figsize=(10,6))
sns.barplot(data=df,x='age_group',y='Item_Total',hue = 'payment_method',estimator = sum,order=agegroup)
plt.title('Age & Payment mode Wise Shopping')
plt.show()

大多数人喜欢用现金购物 优先顺序:现金>>信用卡>>借记卡

5.6分析消费最多的购物中心

python 复制代码
mall = df['shopping_mall'].value_counts()
plt.figure(figsize=(10,6))
sns.barplot(data=df,x=mall.index,y=mall)
plt.title('Shopping Mall Frequency in Shopping')
plt.xticks(rotation = 60, fontsize = 13)
plt.show()

最高的购物频率和消费发生在伊斯坦布尔、坎永和大都会的购物中心。

5.7分析各年/月的购物总价

python 复制代码
## 从列'invoice_date'中创建单独的列'Month'和'Year',以便进一步分析
df['invoice_date'] = pd.to_datetime(df['invoice_date'])
df['Year'] = df['invoice_date'].dt.strftime('%Y').astype(int)
df['Month'] = df['invoice_date'].dt.strftime('%m').astype(int)
# 定义一个函数从月号生成月名,然后将其映射到一个单独的列表示绘制图形的可行性
def month_num_name(x):
        return calendar.month_name[x]
    
df['Month Name'] = df['Month'].apply(month_num_name)
# 月份列表
months = mn[1:]
# 将列转换为分类和有序列
df['Month Name'] = pd.Categorical(df['Month Name'], categories=months, ordered=True)
plt.figure(figsize=(10,6))
sns.lineplot(data=df,x='Month Name',y='Item_Total',hue = 'Year',estimator = sum,palette='Set1')
plt.title('Monthly Shopping')
plt.xticks(rotation = 60, fontsize = 13)
plt.grid()
plt.show()

从上图来看,2023年似乎没有足够的数据。 然而,从2022年开始,与前一年2021年相比,购物似乎达到了基准,这很好。

python 复制代码
plt.figure(figsize=(14,11))       
## 绘制2021年的月度购物情况
df_year = df[(df['Year'] == 2021) & (df['category'].isin(['Clothing','Shoes','Technology']))]
df_year = df_year.sort_values('category')
plt.subplot(2, 1, 1)
sns.lineplot(data = df_year,x='Month Name',y='Item_Total',hue = 'category',estimator = sum)
plt.title('Monthly Shopping Trend in 2021')    
## 绘制2022年的月度购物图
df_year2 = df[(df['Year'] == 2022) & (df['category'].isin(['Clothing','Shoes','Technology']))]
df_year2 = df_year2.sort_values('category')
plt.subplot(2, 1, 2)
sns.lineplot(data = df_year2,x='Month Name',y='Item_Total',hue = 'category',estimator = sum)
plt.title('Monthly Shopping Trend in 2022')
plt.show()

服装在2021和2022七月购买总价达到巅峰,鞋子在3月和5月达到巅峰,科技产品均在10月达到巅峰。

文末福利

《从零开始读懂量子力学》和《从零开始读懂物理学》二选一免费包邮送出5本!

内容简介:

《从零开始读懂量子力学》

量子力学是现代物理学的基石,推动了科学技术的快速发展。在今天,量子依然是新闻热点。本书将为广大科技爱好者系统、严谨地介绍量子力学的基本原理和应用,读者需要熟悉高中物理和数学的相关内容,愿意学习科学的思维方式。虽然量子力学是一门有着神秘面纱、打破生活常识、颠覆人类认知的现代科学,但是读者只要愿意随着本书一起思考,就一定能够清楚地了解量子力学理论的基本概念,最终全面认识它在科学体系中的作用和对现代技术的贡献。

本书的叙述方式是一边讲解科学理论,一边介绍重要的实验现象和科学原理的应用。本书在第一部分依次讲解了状态叠加、波粒二象性、不确定原理等基本概念;在第二部分介绍了量子力学在凝聚态物理和基本粒子物理领域中的应用。同时,对由量子力学催生出的现代电子技术,也着重做了介绍。

《从零开始读懂物理学》

牛顿是怎样建立万有引力定律的?引力是超距作用吗?光速为什么不变?爱因斯坦为什么要提出相对论?电子是粒子还是波?薛定谔的猫到底是怎么一回事?宇宙大爆炸是怎样一步步建立的?暗物质与暗能量真的存在吗?物理学总是令人着迷又令人困惑。本书从"零"开始,站在"问题"角度,循序渐进地讲述了整个物理学理论的演变过程,内容涵盖经典力学、电磁学、热力学与统计力学、光学、相对论、量子物理和宇宙学。

本书思路清晰、行文流畅,措辞严谨又不乏幽默,插图简约又不乏精准,内容简练又不乏深意。除物理内容外,本书多处以开放式思维探讨物理与数学、哲学之间的关系,旨在与读者共同建立理性思维,是青少年及广大物理爱好者绝佳的入门书籍。

  • 抽奖方式:评论区随机抽取5位小伙伴免费送出!

  • 参与方式:关注博主、点赞、收藏、评论区评论"人生苦短,拒绝内卷!"(切记要点赞+收藏,否则抽奖无效,每个人最多评论三次!

  • 活动截止时间:2023-07-28 20:00:00

  • **《从零开始读懂量子力学》**京东自营购买链接:

    https://item.jd.com/12862236.html

    **《从零开始读懂量子力学》**当当自营购买链接:

    http://product.dangdang.com/28545398.html

  • 《从零开始读懂物理学》 当当自营购买链接:http://product.dangdang.com/29472456.html

名单公布时间:2023-07-28 21:00:00

相关推荐
Unicorn建模8 分钟前
2024“华为杯”中国研究生数学建模竞赛(E题)深度剖析|数学建模完整过程+详细思路+代码全解析
python·算法·数学建模
卓_尔_不_凡14 分钟前
Pytorch学习---基于经典网络架构ResNet训练花卉图像分类模型
人工智能·分类·数据挖掘
神奇夜光杯23 分钟前
Python酷库之旅-第三方库Pandas(123)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
zhangbin_23729 分钟前
【Python机器学习】NLP信息提取——提取人物/事物关系
开发语言·人工智能·python·机器学习·自然语言处理
_.Switch39 分钟前
构建现代应用的Python Serverless架构详解
运维·开发语言·python·云原生·架构·serverless·restful
offduty43 分钟前
Python基础03 | 变量和函数
python
空城皆是旧梦1 小时前
python爬虫初体验(二)
爬虫·python
crownyouyou1 小时前
第一次安装Pytorch
人工智能·pytorch·python
qq_435070781 小时前
python乱炖6——sum(),指定维度进行求和
pytorch·python·深度学习
weixin_418123551 小时前
Selenium点击元素的方法
python·selenium