iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >利用pandas进行数据清洗的方法
  • 697
分享到

利用pandas进行数据清洗的方法

2024-04-02 19:04:59 697人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录1、完整性1.1 缺失值1.2 空行2、全面性列数据的单位不统一3、合理性 非ASCII字符4、唯一性4.1 一列有多个参数4.2 重复数据我们有下面的一个数据,利用其

我们有下面的一个数据,利用其做简单的数据分析

在这里插入图片描述

这是一家服装店统计的会员数据。最上面的一行是列坐标,最左侧一列是行坐标。列坐标中,第 0 列代表的是序号,第 1 列代表的会员的姓名,第 2 列代表年龄,第 3 列代表体重,第 4~6 列代表男性会员的三围尺寸,第 7~9 列代表女性会员的三围尺寸。

数据清洗规则总结为以下 4 个关键点,统一起来叫“完全合一”,下面来解释下:

  • 完整性:单条数据是否存在空值,统计的字段是否完善。
  • 全面性:观察某一列的全部数值,比如在 excel 表中,我们选中一列,可以看到该列的平均值、最大值、最小值。我们可以通过常识来判断该列是否有问题,比如:数据定义、单位标识、数值本身。
  • 合法性:数据的类型、内容、大小的合法性。比如数据中存在非 ASCII 字符,性别存在了未知,年龄超过了 150 岁等。
  • 唯一性:数据是否存在重复记录,因为数据通常来自不同渠道的汇总,重复的情况是常见的。行数据、列数据都需要是唯一的,比如一个人不能重复记录多次,且一个人的体重也不能在列指标中重复记录多次。

1、完整性

1.1 缺失值

一般情况下,由于数据量巨大,在采集数据的过程中,会出现有些数据单元没有被采集到,也就是数据存在缺失。通常面对这种情况,我们可以采用以下三种方法:

  • 删除:删除数据缺失的记录
  • 均值:使用当前列的均值填充
  • 高频:使用当前列出现频率最高的数据

比如我们相对data[‘Age']中缺失的数值使用平均年龄进行填充,可以写:


df['Age'].fillna(df['Age'].mean(), inplace=True)

如果我们用最高频的数据进行填充,可以先通过 value_counts 获取 Age 字段最高频次 age_maxf,然后再对 Age 字段中缺失的数据用 age_maxf 进行填充:


age_maxf = train_features['Age'].value_counts().index[0]
train_features['Age'].fillna(age_maxf, inplace=True)

1.2 空行

我们发现数据中有一个空行,除了 index 之外,全部的值都是 NaN。pandas 的 read_csv() 并没有可选参数来忽略空行,这样,我们就需要在数据被读入之后再使用 dropna() 进行处理,删除空行。


# 删除全空的行
df.dropna(how='all',inplace=True) 

2、全面性

列数据的单位不统一

如果某一列数据其单位并不统一,比如weight列,有的单位为千克(Kgs),有的单位是磅(Lbs)。
这里我们使用千克作为统一的度量单位,将磅转化为千克:


# 获取 weight 数据列中单位为 lbs 的数据
rows_with_lbs = df['weight'].str.contains('lbs').fillna(False)
print df[rows_with_lbs]
# 将 lbs转换为 kgs, 2.2lbs=1kgs
for i,lbs_row in df[rows_with_lbs].iterrows():
  # 截取从头开始到倒数第三个字符之前,即去掉lbs。
  weight = int(float(lbs_row['weight'][:-3])/2.2)
  df.at[i,'weight'] = '{}kgs'.fORMat(weight) 

3、合理性

 非ASCII字符

假设在数据集中 Firstname 和 Lastname 有一些非 ASCII 的字符。我们可以采用删除或者替换的方式来解决非 ASCII 问题,这里我们使用删除方法,也就是用replace方法:


# 删除非 ASCII 字符
df['first_name'].replace({r'[^\x00-\x7F]+':''}, regex=True, inplace=True)
df['last_name'].replace({r'[^\x00-\x7F]+':''}, regex=True, inplace=True)

4、唯一性

4.1 一列有多个参数

假设姓名(Name)包含了两个参数 Firstname和Lastname。为了达到数据整洁的目的,我们将 Name 列拆分成 Firstname 和 Lastname 两个字段。我们使用 python 的 split 方法,str.split(expand=True),将列表拆成新的列,再将原来的 Name 列删除。


# 切分名字,删除源数据列
df[['first_name','last_name']] = df['name'].str.split(expand=True)
df.drop('name', axis=1, inplace=True)

4.2 重复数据

我们校验一下数据中是否存在重复记录。如果存在重复记录,就使用 Pandas 提供的 drop_duplicates() 来删除重复数据。


# 删除重复数据行
df.drop_duplicates(['first_name','last_name'],inplace=True)

这样,我们就将上面案例中中的会员数据进行了清理,来看看清理之后的数据结果。

在这里插入图片描述

到此这篇关于利用pandas进行数据清洗的方法的文章就介绍到这了,更多相关pandas 数据清洗内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 利用pandas进行数据清洗的方法

本文链接: https://www.lsjlt.com/news/136500.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 利用pandas进行数据清洗的方法
    目录1、完整性1.1 缺失值1.2 空行2、全面性列数据的单位不统一3、合理性 非ASCII字符4、唯一性4.1 一列有多个参数4.2 重复数据我们有下面的一个数据,利用其...
    99+
    2024-04-02
  • Python怎么利用Pandas与NumPy进行数据清洗
    本文小编为大家详细介绍“Python怎么利用Pandas与NumPy进行数据清洗”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python怎么利用Pandas与NumPy进行数据清洗”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一...
    99+
    2023-06-30
  • 详解Python如何利用Pandas与NumPy进行数据清洗
    目录准备工作DataFrame 列的删除DataFrame 索引更改DataFrame 数据字段整理str 方法与 NumPy 结合清理列apply 函数清理整个数据集DataFra...
    99+
    2024-04-02
  • 高效的数据处理利器:pandas的数据清洗方法
    数据清洗利器:pandas的高效处理方法 引言:随着大数据时代的到来,数据的处理变得愈发重要,尤其是在数据科学和数据分析领域。在这些场景下,数据通常是杂乱无章的,需要进行清洗和整理,才能有效地进行分析和建模。而pandas作为P...
    99+
    2024-01-24
    Pandas 数据清洗 高效处理
  • 怎么在Python中使用Pandas进行数据清洗
    怎么在Python中使用Pandas进行数据清洗?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。python的五大特点是什么python的五大特点:1.简单易学,...
    99+
    2023-06-14
  • 学会使用pandas进行高效的数据清洗步骤
    快速上手!使用Pandas进行数据清洗的方法 引言:随着数据的快速增长和不断积累,数据清洗成为了数据分析过程中不可忽视的一部分。而Pandas是Python中一种常用的数据分析工具库。它提供了高效且灵活的数据结构,使得数据清洗变...
    99+
    2024-01-24
    快速上手
  • 利用Python进行数据清洗的操作指南
    目录缺失值异常值数据不一致无效数据重复数据数据泄漏问题你一定听说过这句著名的数据科学名言: 在数据科学项目中, 80% 的时间是在做数据处理。 如果你没有听过,那么请记住:数据清洗是...
    99+
    2024-04-02
  • 探索Pandas中深入去重方法:数据清洗的利器
    数据清洗利器Pandas:深入解析去重方法 引言:在数据分析与处理中,数据去重是一项非常重要的工作。不仅可以帮助我们处理重复值带来的数据不准确性的问题,还可以提高数据的整体质量。而在Python中,Pandas库提供了强大的去重...
    99+
    2024-01-24
    Pandas 数据清洗 去重方法
  • pandas实现数据清洗有哪些方法
    pandas实现数据清洗的方法有:1、缺失值处理;2、重复值处理;3、数据类型转换;4、异常值处理;5、数据规范化;6、数据筛选;7、数据聚合和分组;8、数据透视表等。详细介绍:1、缺失值处理,Pandas提供了多种处理缺失值的方法,对于缺...
    99+
    2023-11-22
    数据清洗 Pandas
  • 如何用Python进行数据清洗
    这篇文章主要介绍“如何用Python进行数据清洗”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何用Python进行数据清洗”文章能帮助大家解决问题。 数据清洗是...
    99+
    2024-04-02
  • 怎么使用Python进行数据清洗
    这篇文章主要讲解了“怎么使用Python进行数据清洗”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Python进行数据清洗”吧!缺失值当数据集中包含缺失数据时,在填充之前可以先进行一...
    99+
    2023-07-06
  • 使用Python进行数据清洗的完整指南
    你一定听说过这句著名的数据科学名言:在数据科学项目中, 80% 的时间是在做数据处理。如果你没有听过,那么请记住:数据清洗是数据科学工作流程的基础。 机器学习模型会根据你提供的数据执行,混乱的数据会导致性能下降甚至错误的结果,而干净的数据是...
    99+
    2023-05-14
    Python 数据集 数据清洗
  • 数据清洗的方法是什么
    这篇文章主要介绍数据清洗的方法是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!数据清洗方法包括:1、分箱法,将需要处理的数据根据一定的规则放进箱子里,然后进行测试每一个箱子里的数据,并根据数据中的各个箱子的实际情...
    99+
    2023-06-15
  • 揭示pandas数据清洗的重要技巧!
    pandas数据清洗技巧大揭秘! 导语: 在数据分析和机器学习中,数据清洗是一个非常重要的步骤,它涉及到对数据集进行预处理、转换和过滤,以便将数据整理为我们需要的格式和结构。而pandas是Python中最受欢迎和强大的数据分...
    99+
    2024-01-24
    Pandas 技巧 数据清洗
  • r语言中怎么进行数据清洗
    在R语言中进行数据清洗,可以按照以下步骤进行: 缺失值处理:使用函数is.na()判断缺失值,使用函数na.omit()删除包含...
    99+
    2024-03-06
    r语言
  • SQL的数据清洗方法有哪些
    这篇文章主要讲解了“SQL的数据清洗方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQL的数据清洗方法有哪些”吧!大纲如图:01 删除指定列、重命...
    99+
    2024-04-02
  • MySQL中怎么使用LOOP循环进行数据清洗
    在MySQL中,可以使用存储过程和游标来实现循环遍历数据并进行数据清洗操作。以下是一个使用存储过程和游标进行数据清洗的示例: 创建...
    99+
    2024-04-30
    MySQL
  • 数据清洗和转换的方法步骤
    本篇内容介绍了“数据清洗和转换的方法步骤”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 01 了...
    99+
    2024-04-02
  • spark数据库清洗的方法是什么
    在Spark中进行数据清洗通常可以使用以下方法: 使用Spark SQL:可以使用Spark SQL提供的查询语言和函数来进行数...
    99+
    2024-04-02
  • Python中的数据清洗方法是什么
    这里数据清洗需要用到的库是pandas库,下载方式还是在终端运行 : pip install pandas.首先我们需要对数据进行读取import pandas as pd data = pd.read_csv(r'E:\PYt...
    99+
    2023-05-14
    Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作