从excel到python电⼦书_《从EXCEL到PYTHON数据分析进
阶指南》终结篇
⼀个⽉前更新了⼀本书,到第6章。然后停滞了,中间更新了⼀个实战⽂。原因很悲惨…过了将近⼀个⽉⾮⼈⽣活~就是在忙学位论⽂。终于在学术不端检测之后就要送外审了,我也松了⼀⼝⽓。
这⼀个⽉发⽣了什么呢?就不细说了,就是不停的忙着写论⽂,改论⽂这些~但是,这期间我中奖了!!!!!我中了⼀本书,也是Excel和python结合的书!!!中奖绝缘体的我居然中了!!!
待我这本书的笔记写完之后,我在更新那本书~~
感觉⼤家更喜欢笔记啊,这本书⾥⾯的Excel部分被我略过了,因为⽊有什么特别的东西~可能以后会更新⼀下Excel的内容吧~
叨叨完毕,开始更新这本书内容的第7-9章。
前⾯的⼏章内容分别是数据的获取,数据清洗,数据筛选等。属于是前中期的过程啦。第7-9章的内容是数据汇总、统计及输出,是最后的⼀部分。
数据汇总主要使⽤两个函数,⼀个是groupby函数和pivot_table。前者和SQL⾥⾯的内容⽐较类似,就是通过分类汇总达到的。后者是和Excel的数据透视表类似。
⾸先是分类汇总
upby(‘city’).count()
这个意思是通过按照city来进⾏分类,并统计个数
结果
但是这个是对于整个的内容进⾏了分类汇总,可是如果只想对于年龄进⾏汇总应该怎么办呢?
upby('city')['age'].count()
那我想根据多个来进⾏⽐较呢?在[]后⾯再加[]咯
常⽤的统计函数就是.count和.sum,当然还有⽐如求均值这些。
<:通过city字段进⾏汇总并计算price的合计还有均值。
这⾥⾯上海出现了nan值。这个原因是因为源数据中有nan,这⾥要说明⼀下咯
除了这个groupby分组进⾏统计之外呢,还有数据透视表的功能,这⾥⾯要⽤到的是pandas库,pandas中的pivot_table就是⽤python实现数据透视表的功能了。功能更为强⼤,可以分别计算多个数据,并且还能按照⾏和列进⾏汇总,这就⽐groupby这个⽜逼多了。。
借⽤书中的原图吧,因为anaconda⾥⾯没给表格。。。
这个就是原图了,⾥⾯数据由差距,是我变动了~
说完了数据汇总之后,我们就来说说数据采样吧
最开始的前⼏章⾥,我们说了.head,.tail,.sample三个函数。分别是取前⾯数据,取后⾯数据以及随机取数据。这章我们对sample进⾏⼀些补充。⽐如说加个权什么的~~
sample(n = 想取的数据量,weights=权重)
⼿动设置权重的⽅法就是给weights传参咯
Weight= [0,0,0,1,0,0.5]
设置了六个数据的权重,在第四个和第六个上⾯权重更⾼
看⼀下效果
可以发现这个就是直接给权重⾼的截取下来了,但是我发现⼀问题,这个排序好像是按照权重低的先排,权重⾼的在下⾯,我来改下试试看。
谜⼀样的结果诶。。莫不是0.5就要在最⾼?
我再调⼀下多放⼀个
我是随机的啊。。。这个顺序就是 0.5,0.2,1,0.3了。。
看来应该就是随机的。暂且不研究了。
sample的参数中还有⼀个判断数据是否放回的。这⾥⾯我们来看看,参数是replace
这个列表⼀共就6个值,之前试过4个值,看不出来是什么东西,因为是随机取的。我就将所有数据都放进去了
我们看到下⾯如果放回是True的话,列表中可能出现重复的数据,如图0,1都分别出现两次。如果要是False的话,就不会出现重复数据。看来就这个功能了。。
groupby是什么函数
说完随机采样的sample函数之后,我们来说⼀下描述统计describe函数
这个描述统计部分在前⾯也说过,就不细说了。就说⼀个数据结果转置
这个东西⼩数点后⾯那么多零,看起来很烦躁,缩减⼩数点。这⾥的⽅法是round(⼩数点位数)
那个括号⾥⾯是保留的位数。
转置很简单,后⾯加个T就可以了
.std()标准差,.cov()可以⽤来求协⽅差。。这个就不演⽰咯
相关性分析要⽤corr函数来进⾏处理,返回值为相关系数,范围[-1,1].1是正相关,0是不相关,-1是负相关。
可以看到price和age值。。算是不相关咯
如果整个表来算的话。就是它了。
到此第⼋章数据统计也结束了。
最后⼀个数据输出就⾮常简单啦。主要是利⽤pandas进⾏导出。主要⽤Excel和csv
输出为EXCEL:to_Excel(Excel⼯作簿名字,sheet_name = Excel表名)
输出为CSV: to_csv('xxx.csv')
到此从EXCEL到PYTHON数据分析进阶指南这本书的理论部分就完全解决啦。最后的⼀部分就是⼀个实战。后期会按照这个思路来进⾏⼀下别的内容的分析~
到此,这本书就结束啦~~
敬请期待下⼀本书

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。