利用Python对咖啡馆营业做一个简单的数据分析
准备数据
1、导入python数据分析模块三剑客:pandas\matplotlib\numpy
2、用read_excel()方法导入数据源
.输出结果截图如下(部分):
可以看到有这些数据:订单日期、市场类别、区域、产品类别、产品名称、预计销售成本、预计毛利、预计利润、预计销售额、销售成本、存货、毛利、利润额、销售额等等。
数据清洗
1、缺失值的处理
可以看到,这份数据很干净,没有空值。缺失值查询也可以用info()方法。
如果数据中有缺失值,我们可以用dropna()方法进行删除,或者用fillna()进行填充。
2、重复值处理
很多数据都是有重复值的,这个在数据分析前必须删除掉,不然影响结果的准确度,清洗方法为drop_duplicates()。
结果显示,无重复。完了,我找的这个数据可能是别人已经清洗过的了,可能不需要我清洗了,打扰了。
数据分析
1、数据整体情况把握,用shape方法查看维度。
结果显示,这个数据有4248行,14列。
2、用describe()方法进行描述性分析
从这个步骤,想必你已经看出Python的强大之处了,一个小方法,瞬间可以查看各列数据的计数、平均数、极值、方差、4分位数等等。当然,如果你这样写:describe(include=‘all’),数据会更加详细。
3、排序分析
比如我想看每个产品利润额从高到低的分析。
sort_values(by=‘利润额’)表示按利润额排序,ascending=False表示降序排序,head()数据太大了,所以我用这个函数默认取前5个数据。
4、数据分组(跟SQL中的分组一样)
比如,我想看不同产品类别的利润额大小。
我用groupby()查看了利润额和销售额,根据肉眼,你一下估计看不出利润额哪个大对不对?那可以根据上面我介绍的排序知识来排序。
超快吧,要比excel方便对不对。
5、根据条件查询数据
比如,我要看看哪些产品有负利润。
发现普洱茶的部分产品很多是亏本的。也许你想,如果我只想查询清凉茶的负利润产品呢?也可以的,在条件查询中多加个条件就好了。如图:
看到这里,你应该可以根据自己的分析需求运用条件格式畅所欲为了吧。是不是比excel嵌套会好用一点呢,关键excel如果碰到大数据嵌套会,人会很崩溃。比如我有次看到同事为了匹配数据一跑数据就是一两个小时。这在Python里是分分钟的事。
6、条件复杂一点分析(透视表)
比如,我要看看不同区域清凉茶的利润额和销售额的求和、平均值、极值呢?
这就需要用到上图展示中的pivot_table(),这就是透视表功能。这个功能可以让你实现各种复杂分析。但需要熟练。
7、增加一列,算利润率
比如我要算利润率,那么我就得用利润额除以销售额,再换成百分比对不对?如图:
数据可视化
1、各产品种类利润额的图
2、查看各种产品的利润额分布在哪些区间
这是一个简单箱式图能看出极值、特殊值、4分位值,中位数等等。
3、雷达图
如果大家熟练了,就可以在这个基础上玩出各种花样了。我将在接下来的时间里,继续做一些分析案例,希望能分享一些比较容易上手,又能符合数据分析行业实际工作的东西出来。