
Python已迅速发展为数据科学家必备的编程语言。
python作为一种编程语言提供了更加优秀、宽阔的生体系统与深度的科学计算库。
在科学计算库中,Pandas对数据科学最为有效。Pandas、Scikit-learn几乎供给了数据科学家所有工具。本文旨在分享Python中数据处理的方法。别的,还会分享一些让你工作可以变得更便捷的技巧。
在学习前,提醒一下,如果你有过阅读Python数据挖掘(data exploration)的代码。有利于大家更好的理解文章内容。为了更好地理解,我使用了一个数据集来执行这些数据操作和处理。
数据集:我使用了贷款预测(Loan Prediction)问题的数据集。请先下载数据集,然后就可以开始了。

第一步
导入模块、加载数据集、搭建Python环境:

布尔索引
假如说,想由另一列的条件来筛选某一列的值,我们要怎么做?比如,我们想获取一份完整的没有毕业并获得贷款的女性名单。能够利用布尔索引实现。这里还是要推荐下小编的Python学习裙:【五 八 八,零 九 零,九 四 二】不管你是小白还是大牛,小编我都欢迎,不定期分享干货,包括小编自己整理的一份2018最新的Python资料和0基础入门教程,欢迎初学和进阶中的小伙伴。在不忙的时间我会给大家解惑。
Python代码:

Apply函数
Apply是一个我们经常会使用到的函数,作用是创建新变量、处理数据。当我们在利用某些函数传递一个数据帧的每一行或列的时候,Apply函数会返回相应的值。不管这个函数是系统自带的,还是用户定义的。
例如,它可以作用于找到任一列、行的缺失值。


利用这个,得到了我们想要的结果。
注:因为结果中包含很多行,所以第二个输出中使用了head()函数。
填补缺失值
‘fillna()’只要一次就能够解决:以整列的平均数、众数、中位数来替换缺失值。基于其各自的众数填补出“性别”、“婚姻”、“自由职业”列的缺失值。
第一步:导入函数来判断众数

成效前往众数和其出现频次。请注意,众数可所以一个数组,由于高频的值可能有多个。我们通常默认使用第一个:
结果返回众数与它出现的频率。众数也可以是一个数组,因为高频的值存在有多个的可能性。那么我们通常默认使用第一个:

now,我们可以填补缺失值并用Apply函数里提到的方法来检验,填补缺失值并再次检查缺失值,是否已经确认。


透视表
Pandas能够用来创建MS Excel风格的透视表。比如说,在本例中一个关键列是“贷款数额”有缺失值,能够根据“性别”,“婚姻状况”和“自由职业”分组后的平均金额来进行替换。 那么“贷款数额”的各组均值怎么确定呢?


多索引
如果你看到了“填补缺失值”的输出结果,它有一个特殊的特征。每一个索引都是由3个值组合构成的。这个就是多索引。可以帮我们快速执交运算。
从“填补缺失值”的例子中开始,我们有每个组的均值,但还没有被填补。
这可以使用到如今为止学习到的各类技巧来处理,只在缺失贷款值的行中来迭代并再次检验确认。


关键:
1. 多索引必须在loc里讲明的定义分组的索引元组。此元组能够在函数中利用到。
2. values[0]这个后缀是必须的,默认情况下元素返回的索引和原数据框的索引不匹配,直接赋值会报错。
交叉表
这个函数作用于获取数据的一个第一“感受”(视图)。在这里,可以验证一些基本设想。比如说,在这个例子中,“信用记录”被认为是最明显影响贷款状况。这可以使用交叉表验证,如下图所示:

这些数据都是取的绝对值,用百分比更直观。可以利用apply 函数实现:



说到了Pandas的不同函数,一些能够让我们在探索Python数据和功能设计上更加舒适的函数。而且,我们定义了一些通用函数,可以循环利用,在不同的数据集上达到差不多的结果。

喜欢的话关注收藏评论转发比心么么哒!Python学习交流企-鹅-裙-588+090+942,裙内有大量的项目开发和新手教学视频PDF书籍的千人大群等着你来加入
网友评论