Python Pandas 选出指定类型的所有列,统计列的各个类型的数量并用于探索性数据分析(附数据与源码)

在这里插入图片描述

更多包含丰富源数据源代码的 Pandas 高阶操作,数据可视化,以及商业数据分析实战案例,尽在公众号 “ 数据分析与商业实践

通过本文,你将知晓如何利用 Pandas 选出指定类型的所有列用于后续的探索性数据分析,这个方法在处理大表格时非常有用(如列非常多的金融类数据),如果能够较好的掌握精髓,将能大大提升数据评估与清洗的能力,为后续建模提供高质量的数据。

这个技巧并没有什么原理性的东西,所以这里直接呈现代码。



数据读入

在这里插入图片描述

统计列的各个类型的数量

在这里插入图片描述

选出类型为 object 的所有列

在机器学习与数学建模中,数据类型为 float 或者 int 的才好放入模型,像下图这样含有不少杂音的可不是我们想要的。当然,include=["int", "float"] 便表示选出这两个类型的所有列,你可以自行举一反三。


在这里插入图片描述

对 object 列们进行探索性数据分析

在这里插入图片描述

在这里插入图片描述

通过打印出来的信息,我们可以很快知道每一个 object 列大概需要怎么清洗,但许多优秀的数据分析师并不会马上着手操作,而是都先记录下来,最后再一起操作,毕竟可能有可以复用的代码或可以批量进行的快捷操作

这是笔者在进行金融数据分析清洗时的记录(根据上面的步骤后发现的需要对 object 类型列进行的操作)

  • terms:字符串 month 去掉,可能需要适当的分箱
  • int_rate(interesting rate):去掉百分号
  • emp_length:工作年限混入了 <,+ 等无关字符串,如 10+,<1 years 等,需要 先 replace 然后再 map 或者 apply 替换一下
  • title: 该列分类太多,快两万,占到了数据集的 2/3,查找一些业务看看是否属于需要删去的无关变量
  • addr_state:地址变量虽然只有 50 个分类,但似乎也无太大作用,探究删去
  • earliest_cr_time:该列有 526 各类,可能需要根据业务知识进行离散化分箱
  • home_ownership:房屋所有情况,全款支付了的给个1,其余的都给 0
  • 未完待续.....

先列出来再统一操作的好处是当发现处理错误或者需要更改方法时,还能快速找到自己当时的思路。

在这里插入图片描述

更多包含丰富源数据源代码的 Pandas 高阶操作,数据可视化,以及商业数据分析的原理+实战案例,尽在公众号 “ 数据分析与商业实践

Pandas 的技巧看似琐碎,但积累到一定程度后,便可以发现许多技巧都存在共通之处。小事情重复做也会成为大麻烦,所以高手都懂得分类处理。

贯通了 3 个核心,我们才能省时省事,成为别人眼中的高手:

  • 大量重复的工作懂得批处理。
  • 反复要做的固定操作固化成 " 模板 “,” 套路 "。
  • 碰到异常情况,知道准确高效的解决。


[图片上传失败...(image-305b72-1596202496513)]

  • 原理+代码|手把手教你 Python 基于数据不平衡的反欺诈模型实战

后续会陆续更新 Python 场景实践的原理与代码实战


在这里插入图片描述

你可能感兴趣的:(Python Pandas 选出指定类型的所有列,统计列的各个类型的数量并用于探索性数据分析(附数据与源码))