前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >8个用于数据清洗的Python代码

8个用于数据清洗的Python代码

作者头像
统计学家
发布于 2019-08-30 02:10:30
发布于 2019-08-30 02:10:30
88900
代码可运行
举报
运行总次数:0
代码可运行

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

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

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

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

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

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

删除多列

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def drop_multiple_col(col_names_list, df):
 '''
 AIM -> Drop multiple columns based on their column names
 INPUT -> List of column names, df
 OUTPUT -> updated df with dropped columns
 ------
 '''
 df.drop(col_names_list, axis=1, inplace=True)
 return df

转换数据类型

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def change_dtypes(col_int, col_float, df):
 '''
 AIM -> Changing dtypes to save memory
 INPUT -> List of column names (int, float), df
 OUTPUT -> updated df with smaller memory
 ------
 '''
 df[col_int] = df[col_int].astype('int32')
 df[col_float] = df[col_float].astype('float32')

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def convert_cat2num(df):
 # Convert categorical variable to numerical variable
 num_encode = {'col_1' : {'YES':1, 'NO':0},
 'col_2' : {'WON':1, 'LOSE':0, 'DRAW':0}}
 df.replace(num_encode, inplace=True)

检查缺失数据

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def check_missing_data(df):
 # check for any missing data in the df (display in descending order)
 return df.isnull().sum().sort_values(ascending=False)

删除列中的字符串

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def remove_col_str(df):
 # remove a portion of string in a dataframe column - col_1
 df['col_1'].replace('
', '', regex=True, inplace=True)
 # remove all the characters after  (including ) for column - col_1
 df['col_1'].replace(' .*', '', regex=True, inplace=True)

删除列中的空格

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def remove_col_white_space(df):
 # remove white space at the beginning of string
 df[col] = df[col].str.lstrip()

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

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def concat_col_str_condition(df):# concat 2 columns with strings if the last 3 letters of the first column are 'pil'mask = df['col_1'].str.endswith('pil', na=False)col_new = df[mask]['col_1'] + df[mask]['col_2']col_new.replace('pil', ' ', regex=True, inplace=True) # replace the 'pil' with emtpy space

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

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def convert_str_datetime(df):
 '''
 AIM -> Convert datetime(String) to datetime(format we want)
 INPUT -> df
 OUTPUT -> updated df with new datetime format
 ------
 '''
 df.insert(loc=2, column='timestamp', value=pd.to_datetime(df.transdate, format='%Y-%m-%d %H:%M:%S.%f'))
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习与统计学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
8个Python数据清洗代码,拿来即用
不管你承不承认,数据清洗着实不是一件简单的任务,大多数情况下这项工作是十分耗时而乏味的,但它又是十分重要的。
陈晨135
2022/01/12
8120
8个Python数据清洗代码,拿来即用
还在为数据清洗抓狂?这里有一个简单实用的清洗代码集
现实世界中的数据通常质量不高,作为一名数据科学家,有时也需要承担一部分数据清洗的工作,这要求数据科学家们应该能够在进行数据分析或建模工作之前执行数据清洗步骤,从而确保数据的质量最佳。
机器之心
2019/04/29
7490
还在为数据清洗抓狂?这里有一个简单实用的清洗代码集
8个数据清洗Python代码,复制可用,最长11行 | 资源
最近,大数据工程师Kin Lim Lee在Medium上发表了一篇文章,介绍了8个用于数据清洗的Python代码。
量子位
2019/04/24
4140
8个数据清洗Python代码,复制可用,最长11行 | 资源
大数据ETL实践探索(5)---- 大数据ETL利器之 pandas
官网: http://pandas.pydata.org/pandas-docs/stable/
流川疯
2019/03/05
1.4K0
简单实用的数据清洗代码
在我的一篇文章中(我的第一份数据科学实习),我曾讨论过数据清理有多么重要,并且这项工作经常在整个数据科学的工作流中占到40%-70%。这个世界并不完美,数据也是如此。
AI研习社
2019/05/08
1.1K0
简单实用的数据清洗代码
大数据ETL实践探索(9)---- postgresSQL 数据入库使用pandas sqlalchemy 以及多进程
最近有个需求,需要将200W 左右的 excel 格式数据录入 postgreSQL 数据库。 我想了几种办法:
流川疯
2020/06/16
1.5K0
【Python】机器学习之数据清洗
数据清洗,是数据分析的星光耀眼的序幕,因为原始数据集可能蕴含各种幽灵,而这些隐患将影响最终分析和建模的辉煌表演。通过巧妙的数据清洗,数据的可靠性得以提升,为分析和模型的绚丽演绎打下坚实基石。
SarPro
2024/02/20
2070
【Python】机器学习之数据清洗
[数据清洗]- Pandas 清洗“脏”数据(二)
概要 了解数据 分析数据问题 清洗数据 整合代码 了解数据 在处理任何数据之前,我们的第一任务是理解数据以及数据是干什么用的。我们尝试去理解数据的列/行、记录、数据格式、语义错误、缺失的条目以及错误的格式,这样我们就可以大概了解数据分析之前要做哪些“清理”工作。 本次我们需要一个 patient_heart_rate.csv (链接:https://pan.baidu.com/s/1geX8oYf 密码:odj0)的数据文件,这个数据很小,可以让我们一目了然。这个数据是 csv 格式。数据是描述不同个体在不
数据分析
2018/03/01
2.1K0
[数据清洗]- Pandas 清洗“脏”数据(二)
Pandas 2.2 中文官方教程和指南(十·二)
将多级索引的 DataFrames 存储为表与存储/选择同质索引的 DataFrames 非常相似。
ApacheCN_飞龙
2024/05/24
4050
pandas数据清洗详细教程_excel数据清洗工具
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/10/04
1K0
pandas数据清洗详细教程_excel数据清洗工具
COVID-19数据分析实战:数据清洗篇
2020 年全球的关键词非COVID19 莫属。虽然现在关于病毒的起源众说纷纭,也引起了不小的外交冲突。作为数据爱好者,还是用数据说话比较靠谱。
统计学家
2020/05/25
1.3K0
COVID-19数据分析实战:数据清洗篇
使用Pandas进行数据清理的入门示例
数据清理是数据分析过程中的关键步骤,它涉及识别缺失值、重复行、异常值和不正确的数据类型。获得干净可靠的数据对于准确的分析和建模非常重要。
deephub
2023/08/30
2770
使用Pandas进行数据清理的入门示例
【译】Python中的数据清洗 |Pythonic Data Cleaning With NumPy and Pandas(一)
python中的数据清洗 | Pythonic Data Cleaning With NumPy and Pandas[1]
needrunning
2019/10/08
9650
【译】Python中的数据清洗 |Pythonic Data Cleaning With NumPy and Pandas(一)
数据缺失、混乱、重复怎么办?最全数据清洗指南让你所向披靡
在拟合机器学习或统计模型之前,我们通常需要清洗数据。用杂乱数据训练出的模型无法输出有意义的结果。
机器之心
2020/04/22
2.8K0
数据缺失、混乱、重复怎么办?最全数据清洗指南让你所向披靡
强烈推荐Pandas常用操作知识大全!
https://github.com/SeafyLiang/Python_study
1480
2021/12/20
15.9K0
强烈推荐Pandas常用操作知识大全!
Python入门与数据分析
在数据科学领域,Python被广泛使用,因为它不仅易于学习,而且具有强大的数据分析库和工具。学习Python进行数据分析时,常常需要掌握数据清洗、分析和可视化等关键技能。本文将详细介绍Python入门与数据分析的基础知识,涵盖数据清洗、分析以及可视化的常用方法和技巧,并通过具体示例帮助理解。
LucianaiB
2025/01/13
970
盘点66个Pandas函数,轻松搞定“数据清洗”!
之前黄同学曾经总结过一些Pandas函数,主要是针对字符串进行一系列的操作。在此基础上我又扩展了几倍,全文较长,建议先收藏。
朱小五
2022/04/11
3.8K0
盘点66个Pandas函数,轻松搞定“数据清洗”!
7步搞定数据清洗-Python数据清洗指南
作者:KOALA https://zhuanlan.zhihu.com/p/60241672
统计学家
2019/07/22
4.5K0
7步搞定数据清洗-Python数据清洗指南
特征工程与数据预处理全解析:基础技术和代码示例
在机器学习和数据科学的世界里,数据的质量是建模成功与否的关键所在。这就是特征工程和数据预处理发挥作用的地方。本文总结的这些关键步骤可以显著提高模型的性能,获得更准确的预测,我们将深入研究处理异常值、缺失值、编码、特征缩放和特征提取的各种技术。
deephub
2024/07/01
2570
特征工程与数据预处理全解析:基础技术和代码示例
如何使用Python进行数据清洗?
在进行数据分析和建模之前,数据清洗是一个必要的步骤。数据清洗是通过处理和转换原始数据,使其变得更加规范、准确和可用于分析的过程。Python提供了丰富的库和工具,使数据清洗变得更加高效和便捷。本文将详细介绍数据清洗的概念、常见的数据质量问题以及如何使用Python进行数据清洗。
网络技术联盟站
2023/07/04
4810
如何使用Python进行数据清洗?
推荐阅读
相关推荐
8个Python数据清洗代码,拿来即用
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文