首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

数据分析公益课程:Black Friday Sales Data Analysis

在刚去不久的Black Friday,想必大家都买了不少心仪的商品,大家是否有兴趣了解一下,在这些消费行为的背后,有着怎样的数据意义呢?

今天我就和大家一起分析Black Friday的销售数据。

01 加载数据

我们使用业界当中较为广泛应用的Python进行数据分析,为什么使用Python?因为它是功能强大、操作灵活、简单易学的编程语言。

本次使用Windows环境,关于环境的设定,大家可以在网络上寻找相应的技术文档,也可以在USALAO的教学网站中跟着往期课程的视频进行搭建。

关于数据文件,请您在本文末尾处,跟着动画显示的内容进行获取。

首先,我们引入pandas这个模块,这个模块在我们数据分析及机器学习领域几乎天天都会用到。这个模块当中包含很多用于操作数据的方法和函数。

因为我们想知道在我们给出的特定路径下面都有怎样的文件,所有我们还需要引入操作系统支持的模块os。

在代码的第4行,我们将d:\datasets下的所有文件都列出来。

代码的第5行,我们创建了一个数据对象,名字叫做df,里面的内容包含了一个叫做BlackFriday.csv的数据文件中的所有内容。

在代码的第6行,我们打印这个数据对象的大小。

输出结果如下:

通过观察,我们看到d:\datasets下面有若干个文件,其中包括我们要使用的csv数据文件。

在结果的最后一行,我们看到了,这个数据集有537577行记录,12个columns。

如果想查询在这53万条记录当中都有哪些信息,可以使用head()方法获取前5条记录的信息。

代码如下:

结果如下:

02 消费者的性别比例

在我们的印象中,Black Friday的消费者应该大多是女性,但真实的情况是这样吗?我们可以通过图表进行显示。这种分类较少的数据,我们使用pie chat比较方便。

接下来,我们看看,这个pie chat是如何获得的。

我们首先对用来承载图像的“画布”进行设置,我们设置了画布的大小。然后我们在第14行使用pie()进行绘图。通过观察,在这个pie

()方法当中,有很多参数,第一个参数就是我们的数据源,换句话说,就是你要对什么数据进行分析。通过观察,我们发现,我们现在是对这53万条记录当中“gender”这个cloumn进行分析,我们分析什么呢?我们分析的是各种gender的count,也就是它的数量。我们将不同种gender的数量拿出来,进行绘制pie chat。我们在这个pie()当中,还设定了label,就是我们在图中看到的Male和Female。同时,我们也设置了数据显示的精度,大家看到autopct='%1.3f%%'就是用来这是精度的,我们保留小数点后面3位。

当我们将各项参数都设置好之后,我们将pie chat显示出来。

03消费者年龄分析

我们现在想知道,在这53万笔消费当中,消费者的年龄分布情况。首先,我们看看各年龄段、各性别消费数量的统计。在下图当中,x轴是年龄段和性别的分布,y轴是相对应的count。通过观察,我们发现26-35岁的男性消费数量最多,我们可以针对这个年龄段的男士进行有针对性的广告投放,以获得更好的销售业绩。

绘制这个图像,只需要如下几行代码。核心代码只有一行,就是您看到的第13行,设定一下数据源以及细分的条目“Gender”即可。是不是很简单呢?

接下来,我们想知道各个年龄段的消费金额分布情况。

我们这里创建了一个自己定义的函数,用于画图,名字叫做plot。

这个函数的作用是,只要向函数传入分组的column name,做加总的column name以及显示的图形即可绘图。

如下方第21行代码,我们按照Age对数据进行分组,然后将每组的Purchase字段值进行加总,然后以bar的形式显示出来。

通过观察,我们发现26-35岁的年龄段购买能力最强,花费最多。

04 按照城市分布进行分析

接下来我们按照城市进行分析,因为保护个人隐私。在原始数据当中隐去了具体的城市名称,而是使用A、B、C等代号代表特定城市。

首先我们看看,各个城市的订单数据量分布。通过pie chat观察,A城市的订单数量较多,几乎占到总订单的一半。

核心代码如下,大家通过观察,发现没有新的知识点,只是按照City_Category进行count,然后使用pie chat进行显示罢了。

然后我们看看,销售额在各个城市上的分布,是不是订单数量越多,销售额一定越大呢?

A城市拥有最多的订单数量,但销售额却远比C城市少得多。这样的话,可以让市场部门针对C城市这些高消费的消费市场做适当的策略调整。

核心代码如下,依旧没有新的知识点,只是按照不同colums做加总统计。

我们再看看各个城市的订单当中,消费者的年龄分布情况。观察下图可以发现,在B区域的26-35岁消费者的购买次数最多,但消费额并不是最多的。

在下面的代码当中,大家可能会发现,使用sns进行绘图真的好方便,只需要极少的代码就可以实现原本很复杂的图形绘制。

我们再看看已婚消费者和未婚消费者的购买力情况。通过观察发现,已婚人士的订单数量要比未婚人士的订单数据多一些。

按照在当前城市居住时间,在销售总额上进行分析,发现来城市一年的人群消费额最高。

05 销售数量最多的商品以及销售额最高的商品

作为销售类分析的常规统计,我们都会找出销售额最高的top n商品和销售量最多的top n商品。使用的代码放在下方,我们这里使用的新方法是nlargest(),在括号当中放入top n的n即可,比如在当前的例子当中,我们使用10作为参数,就是要显示top 10。

结束语

以上是我们通过Python对Black Friday的简要分析,您可以根据下方的说明,下载数据文件,然后自己对数据进行分析。也欢迎您报名我们的的Python for Data Analysis课程,获取更多简单、有趣的分析技术。

本文中使用的数据集,请按照如下方式获取:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181222G19XLE00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券