动手学数据分析 第一章之探索性数据分析

要不今天开篇先吐槽一下工作,一句话——底层数据乱得我不想说话。今天一天很平静,跟昨天很像,下面是给我自己说的。。。关键是我们做的东西是服务于我们自己的,难道不应该是我们想看什么,顺便给某人看一下什么数据,毕竟某人其实一点儿也不关心这个东西。像绕口令一样,其实别人怎么样跟我确实没有关系,可是如果明明不在一个频道上,说得东西又说不到点子上,还想左右我做的事情,这样也和我没有关系吗?不清楚。

前两天的文章给人一种混乱,开头不知所云的感觉。因为都是我边看任务边做题边百度给写出来的,开始的时候我也不知道我会遇到哪些任务。今天改变战略,我先把任务看一遍,简单地总结一下,接着就是开始陈述做题过程中所遇到的各种问题及解决方法。

本篇的探索性分析主要介绍三部分的内容:

1、利用pandas对DataFrame进行排序操作;

2、对DataFrame和DataFrame进行加操作,或者对DataFrame中的某些列进行加操作

3、对DataFrame进行描述性统计分析就是方法describe().

其实整个第一章是一个大家庭,我呢,因为时间不太充裕,毕竟我是个妥妥的社畜,加班是常犯。整个第一章完成下来,会对数据有个初步的认识,了解自己在做什么,知道为什么这么做。为后续章节的学习提供基础。

第一部分讲得是排序,分为对行索引、列索引及列数据的排序,我也是第一次看到可以对列索引排序。扶额。其实稍微转换一下思路是可以理解的,毕竟DataFrame是以表格的形式展示的,转置一下,列索引自然而然就会称为行索引。

对索引的排序用sort_index,参数axis默认为0,即默认对行索引排序;参数ascending默认为True,即默认升序。延申一下axis=1指的是对列索引排序,ascending=False指的是降序排列。

对列数据的排序用的是sort_values()方法。

拿Tatanic的数据来看一下,针对票价和年龄同时倒序排序,会发现几个有意思的现象。

1、高票价是中票价的两倍左;

2、购买高票价的集中在中青年;

3、高票价的生存率比较高;

这些都是根据看到的部分数据得出来了,相当于还没有真正分析前的假设。

第二部分是利用pandas进行算术运算,类似于我们平常见到的加减乘除。对应的行和列会进行相应的运算,如果没有相应的值的话,就会出现NAN。

这部分的任务还提到了如何利用算术运算,计算tatanic最大家族的人数:

我筛选了一下最大家族对应的数据信息,显示每一行都显示着,这个人有8个兄弟姐妹,2个父母和小孩子,就是10个人,但我看到的行数只有7条。所以我比较好奇tatanic的这个数据构成逻辑,因为从列名来看,每行对应的是一个人的信息。

1、这些人票都是一样的;

2、这些人最后都没存活下来;

3、有可能是因为拆分数据集的时候,把这一大家族人的数据分拆到两个数据集里面了。如果按训练集:测试集 = 7:3,感觉假设很合理。

第三部分就是运用decribe() 来查看数据的信息了,对于这个方法特别注意的就是缺失值,对于缺失值的信息并不会体现在其中,因为不对缺失值进行计算。

用describe()对titanic的票价和人数,可以看到人数的最小值为0。票价的分布也是很有意思,75%的人票价都在32美元以下。

OK,完成了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值