【数据可视化-24】巧克力销售数据的多维度可视化分析
🧑 博主简介:曾任某智慧城市类企业
算法总监
,目前在美国市场的物流公司从事高级算法工程师
一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN人工智能领域的优质创作者,提供AI相关的技术咨询、项目开发和个性化解决方案等服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:xf982831907
)
💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。
【数据可视化-24】巧克力销售数据的多维度可视化分析
- 一、引言
- 二、数据探索
- 2.1 数据加载与预览
- 2.2 数据清洗与转换
- 2.3 销售数据的初步统计
- 2.4 数据特征之间的分布分析
- 三、数据可视化
- 3.1 个人在巧克力上花费的情况
- 3.2 日销售额变换情况
- 3.3 产品销售情况分析
- 3.4 国家销售情况分析
- 3.5 月度销售趋势分析
- 3.6 产品月度销售表现
- 3.7 国家与出货箱数的关系
- 3.8 销售额与地区和巧克力种类的关系
- 四、结论与洞见
一、引言
在当今激烈的市场竞争中,数据可视对于巧克力销售行业尤为重要。它可以帮助企业深入了解销售趋势、消费者偏好以及产品表现等关键信息,从而制定更精准的市场策略。本文将通过一个详细的巧克力销售数据集,从多个维度进行深入的可视化分析,揭示巧克力销售背后隐藏的规律和洞察。
二、数据探索
2.1 数据加载与预览
首先,我们需要将数据加载到Python环境中,并进行初步的预览和探索。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')# 设置中文字体
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
# 加载数据集
data = pd.read_csv("Chocolate Sales.csv")
print(data.head()) # 显示前几行数据
print(data.info()) # 查看数据基本情况
print(data.isnan().sum()) #查看数据缺失值情况
print(data.duplicated().any()) #查看数据中重复值的情况
从上面的结果中,我们对数据有了一个初步的了解:
- 1、数据一共包含1094个样本,存在6个维度,分别是销售人员、国家、产品类型、销售日期、销售金额、出货箱数
- 2、数据中只有Boxes Shipped(出货箱数)为数值型特征,其它的维度均为类别型特征
- 3、数据中无缺失值
- 4、数据中无重复值
2.2 数据清洗与转换
在进行深入分析之前,我们需要对数据进行清洗和转换,以确保其准确性和一致性。
# 对销售金额列进行清洗,转换成数据型特征列
data['Amount'] = data['Amount'].replace({'\$': '', ',': ''}, regex=True).astype(int)# 对销售日期进行清洗,转换成datetime个数,并提取月份
data["Date"] = pd.to_datetime(data["Date"])
data["Month"] = data["Date"].dt.month
2.3 销售数据的初步统计
了解数据的基本统计信息对于后续分析至关重要。我们可以使用describe()
方法来获得数值型列的统计摘要。
print(data.describe()) # 显示数值型列的统计摘要
2.4 数据特征之间的分布分析
使用配对图来分析数据集中不同变量之间的关系。
sns.pairplot(data,hue='Country')
plt.figure(figsize=(10, 6))
plt.show()
各个国家的销售额、出货箱数和销售月份分布大致一致;
三、数据可视化
3.1 个人在巧克力上花费的情况
# Group by 'Sales Person' and sum the amounts.
sales_by_person = df.groupby('Sales Person')['Amount'].sum().reset_index()# Plot the results.
plt.figure(figsize=(12, 6))
sns.barplot(data=person_sales, x='Sales Person', y='Amount')
plt.xlabel("Sales Person")
plt.ylabel("Total Sales ($)")
plt.title("Sales by Person")
plt.xticks(rotation=45, fontsize=8)
plt.show()
从上图可以看出,个人在巧克力上的花费大多都在200000$以上;
3.2 日销售额变换情况
data_amount = data.groupby('Date')['Amount'].sum()
plt.figure(figsize=(12, 5))
plt.plot(data_amount.index, data_amount.values, marker='o')
plt.title('Sum Amount by day')
plt.xlabel('Data')
plt.ylabel('Amount[$]')
plt.grid(True)
plt.xticks(rotation=45)
plt.show()
3.3 产品销售情况分析
我们可以从产品维度分析不同巧克力产品的销售表现。
plt.figure(figsize=(12, 5))
sns.countplot(x="Product", data=data)
plt.xticks(rotation=45)
plt.title('Product Count Graph')
plt.ylabel('Count')
plt.xlabel('Product')
plt.show()
3.4 国家销售情况分析
从国家维度分析巧克力在不同地区的销售分布。
plt.figure(figsize=(15, 8))
sns.countplot(x="Country", data=data)
plt.xticks(rotation=45)
plt.title('Country Sales Count Graph')
plt.ylabel('Count')
plt.xlabel('Country')
plt.show()
3.5 月度销售趋势分析
通过时间维度分析巧克力产品的月度销售趋势,以识别销售高峰和低谷。
plt.figure(figsize=(15, 8))
sns.countplot(x="Month", data=data)
plt.title('Product ordered most month in 2022')
plt.ylabel('Count')
plt.xlabel('Month')
plt.show()
3.6 产品月度销售表现
深入分析特定产品的月度销售表现,以了解产品的季节性需求。
plt.figure(figsize=(30, 15))
sns.countplot(x="Month", data=data, hue='Product')
plt.title('Top 5 Chocolate Products of 2022')
plt.ylabel('Count')
plt.xlabel('Product')
plt.legend()
plt.show()
3.7 国家与出货箱数的关系
分析国家与出货箱数之间的关系,以了解不同市场的需求规模。
plt.figure(figsize=(12, 6))
# 绘制箱线图
sns.boxplot(data=data, x="Country", y="Boxes Shipped")# 添加标题
plt.title('Boxes Shipped by Country')
plt.show()
3.8 销售额与地区和巧克力种类的关系
# Find Out the best in location!
pivot_table = df.pivot_table(index='Country', columns='Product', values='Amount', aggfunc='sum', fill_value=0)plt.figure(figsize=(12, 8))
sns.heatmap(pivot_table, annot=False, cmap='Blues')
plt.xlabel("Chocolate Category")
plt.ylabel("Country")
plt.title("Total Sales by Country and Chocolate Category")
plt.tight_layout()
plt.show()
四、结论与洞见
通过以上的多维度可视化分析,我们可以得出以下结论:
- 不同巧克力产品在销售量上存在显著差异,某些产品更受消费者欢迎。
- 澳大利亚是主要的销售市场,其次是印度、美国等国家。
- 某些月份的销售表现更为突出,可能存在季节性因素影响。
这些洞见可以帮助巧克力销售企业优化产品组合,调整市场策略,以更好地满足消费者需求并提高销售业绩。通过深入的数据可视化分析,企业可以发现潜在的销售机会和挑战,从而在激烈的市场竞争中保持领先地位。