编程语言
首页 > 编程语言> > Python数据分析与挖掘实战中的错误总结与分析(持续更新)

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

作者:互联网

1.前言

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

2.错误分析

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

2.1第三章数据探索部分

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

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

p=data.boxplot()

    修改这一句为:

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

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

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

plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['font.family']='sans-serif'

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

from __future__ import print_function

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

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

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

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)

    具体调用是这样的: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是缺失值的位置,一般是放在后面,当然也可以放在前面,其余参数一般不会用到。

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

第四章:敬请期待,不久更新 !

标签:数据分析,实战,False,Python,代码,ascending,sort,values,data
来源: https://blog.csdn.net/qq_34454366/article/details/95210230