Python数据分析与挖掘实战中的错误总结与分析(持续更新)

1.前言

    博主研究生第一年已经成为过去式了,上了课,修了学分。接下来两年就是要搞搞学术了,方向为:大数据分析与数据挖掘。从此篇开始,就将学习过程中一些问题和想法与友交流之。这里是博主在学习中看的一本书《python数据分析与挖掘实战》中基础篇的一些代码规范以及参考方法,供大家学习。

2.错误分析

   由于第一章和第二章较为简单,这里就不在赘述,涉及到官方文档,大家一定多看看。

2.1第三章数据探索部分

  •   代码3-1餐饮营销数据异常值检测代码

    这个代码主要是利用箱型图来将异常值进行显示,按照书上敲完代码执行后,会抛出一个TypeError:'AxesSubplot' object is not subscriptable。如下面图所示:

   错误提示呢,是由于在使用DataFrame方法画箱型图的时候,没有指定P的类型,导致不能正常的获取其下标。也就是上一句中:

p=data.boxplot()
p=data.boxplot()

 

  修改这一句为:

p=data.boxplot(return_type='dict')
p=data.boxplot(return_type='dict')

 

  便会得到正确的结果,其余部分的代码都很好理解。

   另外要提示的是下面这两句是在以后的代码中不可或缺的,一个是为了让中文标签正常显示,另一个是为了正常显示负号。根据代码的需求,要添加时候便添加。

plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['font.family']='sans-serif'
  • 代码3-2餐饮销量数据统计量分析代码

    这个代码主要是对数据的统计量分析,很好理解,里面没有问题。要提醒的是开头的这行

代码:

from __future__ import print_function
from __future__ import print_function

    这个代码是将未来版本的一些特性导入到现在使用的版本中,如果你的python版本较高,那么可以不使用这个方法。

  • 代码3-3菜品盈利帕累托图代码

    贡献图分析又称帕累托分析,原理就是帕累托法则,对于一个公司来说,80%的利润常常来自于20%最畅销的产品,而其他80%的产品只产生了20%的利润,从而又称20/80定律。

    根据提供的数据和代码,很容易就能得到菜品盈利的帕累托图,这里要强调的是下面这一点,在对数据排序的时候使用到下面的方法,ascending=False表示的按照倒序来排列,但是会抛出一个AttributeError: 'Series' object has no attribute 'sor

t'。

data.sort(ascending=False)
data.sort(ascending=False)

  这是由于data在这里的类型是<class 'pandas.core.series.Series'>,可惜的是Series并没有sort这个方法,所以要采用sort_values()方法,sort_values是归于pandas的,具体是DataFrame.sort_values,但是Series也具有这样的方法。修改为如下的

代码:

data.sort_values(ascending=False)
data.sort_values(ascending=False)

    具体调用是这样的:DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last'),by要求传入一个字符或一个字符列表指定axis的排序,axis=0表示列,axis=1表示行,ascending True or False就是升序和降序了。kind是排序的类型,有quicksort快速排序、mergesort插入排序、heasort堆排序等。na_position是缺失值的位置,一般是放在后面,当然也可以放在前面,其余参数一般不会用到。

  • 代码3-4餐饮销量数据相关性分析

这个代码很简单,利用好corr()方法就行,没有什么要强调的。

2.2第四章数据预处理部分

  • 代码4-1用拉格朗日法进行插补
  • 10
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值