最近,大数据工程师Kin Lim Lee在Medium上发表了一篇文章,介绍了8个用于数据清洗的Python代码。

数据清洗,是进行数据分析和使用数据训练模型的必经之路,也是最耗费数据科学家/程序员精力的地方。

这些用于数据清洗的代码有两个优点:一是由函数编写而成,不用改参数就可以直接使用。二是非常简单,加上注释最长的也不过11行。

在介绍每一段代码时,Lee都给出了用途,也在代码中也给出注释。

大家可以把这篇文章收藏起来,当做工具箱使用。

涵盖8大场景的数据清洗代码

这些数据清洗代码,一共涵盖8个场景,分别是:

删除多列、更改数据类型、将分类变量转换为数字变量、检查缺失数据、删除列中的字符串、删除列中的空格、用字符串连接两列(带条件)、转换时间戳(从字符串到日期时间格式)

删除多列

在进行数据分析时,并非所有的列都有用,用df.drop可以方便地删除你指定的列。

转换数据类型

当数据集变大时,需要转换数据类型来节省内存。

将分类变量转换为数值变量

一些机器学习模型要求变量采用数值格式。这需要先将分类变量转换为数值变量。同时,你也可以保留分类变量,以便进行数据可视化。

检查缺失数据

如果你要检查每列缺失数据的数量,使用下列代码是最快的方法。可以让你更好地了解哪些列缺失的数据更多,从而确定怎么进行下一步的数据清洗和分析操作。

删除列中的字符串

有时候,会有新的字符或者其他奇怪的符号出现在字符串列中,这可以使用df[‘col_1’].replace很简单地把它们处理掉。

删除列中的空格

数据混乱的时候,什么情况都有可能发生。字符串开头经常会有一些空格。在删除列中字符串开头的空格时,下面的代码非常有用。

用字符串连接两列(带条件)

当你想要有条件地用字符串将两列连接在一起时,这段代码很有帮助。比如,你可以在第一列结尾处设定某些字母,然后用它们与第二列连接在一起。

根据需要,结尾处的字母也可以在连接完成后删除。

转换时间戳(从字符串到日期时间格式)

在处理时间序列数据时,我们很可能会遇到字符串格式的时间戳列。

这意味着要将字符串格式转换为日期时间格式(或者其他根据我们的需求指定的格式) ,以便对数据进行有意义的分析。

8个数据清洗Python代码,复制可用,最长11行 | 资源的更多相关文章

  1. python爬虫小说代码,可用的

    python爬虫小说代码,可用的,以笔趣阁为例子,python3.6以上,可用 作者的QQ:342290433,汉唐自远工程师 import requests import refrom lxml i ...

  2. 『无为则无心』Python基础 — 4、Python代码常用调试工具

    目录 1.Python的交互模式 2.IDLE工具使用说明 3.Sublime3工具的安装与配置 (1)Sublime3的安装 (2)Sublime3的配置 4.使用Sublime编写并调试Pytho ...

  3. 将自己写的Python代码打包放到PyPI上

    如果是开源的Python代码,为了能够让大家更方便的使用,放到PyPI上也许是个非常不错的主意(PyPI:Python Package Index).刚开始我以为要将代码打包放到PyPI上是一件非常复 ...

  4. python代码风格指南:pep8 中文翻译

    摘要 本文给出主Python版本标准库的编码约定.CPython的C代码风格参见​PEP7.本文和​PEP 257 文档字符串标准改编自Guido最初的<Python Style Guide&g ...

  5. 调试Python代码的工具

    pdb: 首先来说Python里内建的调试器,pdb.它利用一个简单的命令行界面,还有很多你在用调试器时用得上的功能.帮助系统能为你指出你能运行的命令,比如单步调试代码,操纵调用栈和设置断点. 一些它 ...

  6. 一起来写2048(160行python代码)

    前言: Life is short ,you need python. --Bruce Eckel 我与2048的缘,不是缘于一个玩家,而是一次,一次,重新的ACM比赛.四月份校赛初赛,第一次碰到20 ...

  7. 一起写2048(160行python代码)

    前言: Life is short ,you need python. --Bruce Eckel 我与2048的缘,不是缘于一个玩家.而是一次,一次,重新的ACM比赛.四月份校赛初赛,第一次碰到20 ...

  8. 编写高质量的Python代码系列(一)之用Pythonic方式来思考

    Python开发者用Pythonic这个形容词来描述具有特定风格的代码.这种风格是大家在使用Python语言进行编程并相互协作的过程中逐渐形成的习惯.那么,如何以改风格完成常见的Python编程工作呢 ...

  9. 利用Python代码编写计算器小程序

    import tkinter import tkinter.messagebox import math class JSQ: def __init__(self): #创建主界面 self.root ...

随机推荐

  1. HDU 1213(裸并查集)(无变形)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1213 How Many Tables Time Limit: 2000/1000 MS (Java/ ...

  2. web前端时间戳转时间类型显示

    1.jsp头部加:<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> ...

  3. --oracle删除数据库表(无主键)中重复的记录

    --oracle删除数据库表(无主键)中重复的记录 1,  CREATE TABLE newtable as SELECT distinct * FROM T_SYSTEM_MENU_PRIV; 2, ...

  4. Ubuntu下配置jdk和tomcat

    一.配置jdk 更新系统 apt-get update 添加ppa add-apt-repository ppa:webupd8team/java 开始安装 apt-get install oracl ...

  5. bootstrap世界探索1——山川河流(文字排版)

    世界到底是什么?其实世界很简单,正所谓一花一世界,一树一菩提,世界就在我们身边.造物神是伟大的,在我看来无论是HTML,css,js都可以看作是一个世界,但是他们是构成宏观世界不可或缺的,正如IU框架 ...

  6. 1. 文件a.txt内容:每一行内容分别为商品名字,价钱,个数。

    li = []with open('lo', encoding='utf-8', mode='r') as f1: for i in f1: l2=i.strip().split() dic = {' ...

  7. 发现环——第八届蓝桥杯C语言B组(国赛)第四题

    原创 标题:发现环 小明的实验室有N台电脑,编号1~N.原本这N台电脑之间有N-1条数据链接相连,恰好构成一个树形网络.在树形网络上,任意两台 电脑之间有唯一的路径相连. 不过在最近一次维护网络时,管 ...

  8. dtree的自定义select动作

    项目中用到了dtree,别问我为什么用这么古老的插件,因为简单啊orz,文件树的条目不多,detree加载卡顿的问题也不用解决,开森. 在使用过程中在选择节点后需要自定义一些onclick的动作,本来 ...

  9. SQL学习笔记:基础教程

    SQL语法 在表中选择列 select 列名 from 表名 选择所有列 select * from 表名 返回唯一值 select distinct 列名 from 表名 where select ...

  10. 20155227 《Java程序设计》实验四 Android开发基础设计实验报告

    20155227 <Java程序设计>实验四 Android开发基础设计实验报告 任务一 Android Stuidio的安装测试: 参考<Java和Android开发学习指南(第二 ...