【pandas基础】--数据整理

这篇具有很好参考价值的文章主要介绍了【pandas基础】--数据整理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

pandas进行数据整理的意义在于,它是数据分析、数据科学和机器学习的前置步骤。
通过数据整理可以提前了解数据的概要,缺失值、重复值等情况,为后续的分析和建模提供更为可靠的数据基础。

本篇主要介绍利用pandas进行数据整理的各种方法。

1. 数据概要

获取数据概要信息可以帮助我们了解数据的基本情况,包括数据的大小、数据类型、缺失值的情况、数据的分布情况等。

这些信息对于我们进行数据分析、数据处理和建模等工作非常重要。
获取数据概要信息是进行数据分析和处理的基础,也是保障数据分析和建模结果准确性的重要步骤。

测试数据导入:

import pandas as pd

fp = "http://databook.top:8888/pandas/cn-people.csv"
df = pd.read_csv(fp)
df

image.png

1.1 dtypes 数据类型

查看数据类型:

df.dtypes

image.png
数据集中4个列的类型如上所示。

1.2 describe 数值列统计

选取数值列value,统计其情况看看:

df.value.describe()
# df["value"].describe()

image.png
统计的内容包括:总数、平均数、标准差、最小值、最大值等等。

1.3 value_counts 各类数据的数量

比如,统计指标中文这列,看看不同的指标对应的数据量。

df["指标中文"].value_counts()

image.png
可以看出,每种指标的数据都是 44 条。

1.4 info 整体的基本信息

df.info()

image.png
info函数包括每列的名称、数据类型、非空值数量、甚至内存使用量等信息。

2. 缺失值处理

收集的数据难免缺失,对缺失值的处理进行分析前必要的步骤,因为:

  1. 保证数据的完整性和准确性。缺失值的存在可能会影响数据的可靠性和分析结果的准确性,因此及时处理缺失值能够保证数据的完整性和准确性。
  2. 提高数据分析结果的准确性。处理缺失值能够提高数据分析结果的准确性,因为缺失值会对数据分析结果产生一定的偏差,处理缺失值能够减少这种偏差,提高数据分析结果的可靠性。
  3. 使数据更容易被理解和处理。处理缺失值能够使数据更加规范和标准化,从而方便数据的理解和处理。如果数据中存在大量的缺失值,可能会造成数据处理困难,降低数据的处理效率。
  4. 使得数据更加适合建模。处理缺失值能够使得数据更加适合建模,因为缺失值可能会影响模型的训练和预测效果,处理缺失值能够提高模型的准确性和可靠性。

pandas中提供了 isnullnotnull 两个函数来标记缺失值,也提供了fillnadropna两个函数来处理缺失值。

演示缺失值处理的测试数据如下:

import pandas as pd

fp = "http://databook.top:8888/pandas/missing-values.csv"
df = pd.read_csv(fp)
df

image.png
缺失的数据默认值为 NaN

2.1 查看缺失值

pandas通过isnull函数可以标记缺失的值,缺失的值显示为 True

df.isnull()

image.png

notnull函数与之相反,缺失的值显示为 False

df.notnull()

image.png

通过这两个函数,可以很方便的过滤包含或未包含缺失值的数据。

# value缺失 【并且】 指标中文未缺失的数据
df[df.value.isnull() & df["指标中文"].notnull()]

image.png

# value未缺失 【或者】 指标中文缺失的数据
df[df.value.notnull() | df["指标中文"].isnull()]

image.png

2.2 填充缺失值

对于缺失值,为了防止其对后续的分析算法造成影响,一般有两种处理方式。
一种是填充默认值,一种是直接删除包含缺失值的数据。

填充缺失值用fillna函数。

df.value = df.value.fillna(0.0)
df["指标编码"] = df["指标编码"].fillna("A000000")
df["指标中文"] = df["指标中文"].fillna("默认指标")
df

image.png
各列填充不同的默认值之后如上。

2.3 删除缺失值

删除缺失值时,请关注2个关键的参数。
一个是 how,另一个是subset
how="all"时,只有当前列所有数据都是NaN时才删除。

df.dropna(how="all")

image.png
没有满足条件的数据,所有数据都保留下来了。

how="any"时,只要有一个数据是NaN,就会删除当前行数据。

df.dropna(how="any")

image.png
所有数据都删除了,因为示例数据中每一行都有一个NaN数据。

除了how之外,另一个常用的参数是subset,与how相比,它可以具体指定哪些列为NaN时才删除数据。

df.dropna(subset=["value", "指标中文"])

image.png
指标中文或者valueNaN的数据都删除了。

3. 重复值处理

在数据分析中,处理重复值是非常重要的,因为重复值会影响分析结果和数据准确性。
处理重复值可以:

  1. 避免重复计算:重复值可能会导致重复计算,从而影响数据分析结果的准确性。
  2. 减少存储空间:去除重复值可以减少数据存储空间,从而提高数据处理效率。
  3. 提高数据分析精度:处理重复值可以提高数据分析的准确性和精度,从而帮助分析师做出更准确的决策。
  4. 符合数据质量标准:去除重复值可以提高数据的完整性和一致性,符合数据质量标准。
  5. 简化数据可视化:处理重复值可以简化数据可视化操作,从而帮助分析师更好地理解数据。

演示重复值处理的测试数据如下:

import pandas as pd

fp = "http://databook.top:8888/pandas/duplicate-values.csv"
df = pd.read_csv(fp)
df

image.png

3.1 查找重复值

pandas提供了duplicated()方法来检查DataFrame中的重复值。
该方法返回一个布尔Series,其中True表示该行是重复的,False表示该行不是重复的。

df.duplicated()

image.png
根据index,可以看出哪些行是重复的。

3.2 删除重复值

对于重复的值,一般都是直接删除。
删除重复数据的方法drop_duplicates中有个keep参数可以重点关注下。

# 重复时,保留第一个数据
df.drop_duplicates(keep="first")

image.png
keep="first"时,从index可以看出,保留的是重复数据中index的数据。

# 重复时,保留最后一个数据
df.drop_duplicates(keep="last")

image.png
keep="last"时,从index可以看出,保留的是重复数据中index的数据。

df.drop_duplicates(keep=False)

image.png
keep=False时,所有重复的数据都被删除了。

4. 总结回顾

本篇主要介绍pandas在数据整理方面的能力,主要包括:

  1. 数据概要信息的获取
  2. 缺失值的处理
  3. 重复值的处理

熟练掌握数据整理的方法,可以让后续的分析步骤更加高效。文章来源地址https://www.toymoban.com/news/detail-443654.html

到了这里,关于【pandas基础】--数据整理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • pandas进行数据计算时如何处理空值的问题?

    目录 1.数据预览: 2.解决方法 (1)问题示例 (2)方法 A.方法一 B.方法二 如下图如果不理睬这些空值的话,计算总分便也会是空值 A.方法一 我们可以利用fillna(0)将空值填充为零再进行计算 B.方法二 利用灵活算数法中的fill_value参数将空值填充为零 方法 描述 add 加法 sub 减法

    2024年01月18日
    浏览(39)
  • Python数据分析与应用 |第4章 使用pandas进行数据预处理 (实训)

    编号 性别 高血压 是否结婚 工作类型 居住类型 体重指数 吸烟史 中风 9046 男 否 是 私人 城市 36.6 以前吸烟 是 51676 女 否 是 私营企业 农村 N/A 从不吸烟 是 31112 男 否 是 私人 农村 32.5 从不吸烟 是 60182 女 否 是 私人 城市 34.4 抽烟 是 1665 女 是 是 私营企业 农村 24 从不吸烟 是

    2024年04月23日
    浏览(39)
  • 【Python】使用Pandas和随机森林对鸢尾花数据集进行分类

    我在鼓楼的夜色中 为你唱花香自来 在别处 沉默相遇和期待 飞机飞过 车水马龙的城市 千里之外 不离开 把所有的春天 都揉进了一个清晨 把所有停不下的言语变成秘密 关上了门 莫名的情愫啊 请问 谁来将它带走呢 只好把岁月化成歌 留在山河                      🎵

    2024年04月26日
    浏览(32)
  • 【Pandas】四个例子掌握用Python进行数据分析!一看就懂!

    本文选取了四个经典案例,主要聚焦Pandas在数据分析中的简单应用,结合代码学习利用Python进行数据分析过程(●ˇ∀ˇ●)。在每个例题开始前,我们将会标注出本例题涉及的重要知识点,并在重要处添加解释和代码注释,共读者参考。 如果你遇到任何问题,欢迎在评论区一起

    2024年02月17日
    浏览(60)
  • 【数据分析 - 基础入门之pandas篇②】- pandas数据结构——Series

    大家好!我是一朵向阳花(花花花),本期跟大家分享的知识是 pandas 数据结构——Series。 作者的【 Python 数据分析】专栏正在火热更新中,如果本文对您有帮助,欢迎大家点赞 + 评论 + 收藏 ! 每日金句分享: 愿你有一天,能和你最重要的人重逢。』—— 艾拉「可塑性记忆

    2024年02月13日
    浏览(38)
  • 【数据分析 - 基础入门之pandas篇③】- pandas数据结构——DataFrame

    大家好!我是一朵向阳花(花花花)🍭,本期跟大家分享的知识是 pandas 数据结构——DataFrame。 作者的【 Python 数据分析】专栏正在火热更新中🔥,如果本文对您有帮助,欢迎大家点赞 + 评论 + 收藏 ! 每日金句分享: 慢慢来,谁还没有一个努力的过程。』—— pony「网易云

    2024年02月16日
    浏览(40)
  • 【数据分析 - 基础入门之pandas篇①】- pandas介绍

    pandas 是 Python 的 核心数据分析支持库 ,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。 pandas 的目标是成为 Python 数据分析实践与实战的必备高级工具 ,其长远目标是成为最强大、最灵活、可以支持任何语言的开源数据分析工具。经过多年

    2024年02月13日
    浏览(40)
  • 【pandas基础】--数据读取

    数据读取是第一步,只有成功加载数据之后,后续的操作才有可能。 pandas 可以读取和导入各种数据格式的数据,如CSV,Excel,JSON,SQL,HTML等,不需要手动编写复杂的读取代码。 pandas 提供了导入各类常用文件格式数据的接口,这里介绍3种最常用的加载数据的接口。 读取cs

    2024年02月02日
    浏览(30)
  • 【pandas基础】--数据修改

    pandas 作为一种常用的数据分析工具,提供了广泛的数据修改方法。 既可以针对 行 或者 列 的数据进行修改,也可以对具体 单个元素 进行修改,还可以基于条件选择要修改的 行 或者 列 的数据。 pandas 的 DataFrame 增加一行或者多行数据之前是使用 append 方法。 使用append方法会

    2024年02月05日
    浏览(30)
  • 【pandas基础】--数据检索

    pandas 的数据检索功能是其最基础也是最重要的功能之一。 pandas 中最常用的几种数据过滤方式如下: 行列过滤:选取指定的行或者列 条件过滤:对列的数据设置过滤条件 函数过滤:通过函数设置更加复杂的过滤条件 本篇所有示例所使用的测试数据如下: pandas 中最常用的按

    2024年02月03日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包