代码编织梦想

我们讨论过数据选择与过滤的相关内容,尤其是在使用 Pandas 进行数据操作时,如何高效地选择和过滤数据.现在我们将重点关注数据清洗与处理,这是数据分析过程中至关重要的一步.

什么是数据清洗?

数据清洗(Data Cleaning)是指对数据进行检测和修正的过程.数据往往会有缺失值、异常值或者不一致的格式,清洗数据的目的是提高数据的质量,使得后续的分析和建模更加准确.

常见的数据清洗步骤:

  1. 处理缺失值

  2. 处理重复数据

  3. 标准化数据格式

  4. 处理异常值

  5. 数据转换

处理缺失值

在数据集中,缺失值是常见的问题.我们可以通过 Pandasisnull() 方法和 fillna() 方法来处理缺失值.

示例

假设我们有一个关于学生成绩的数据如下:

import pandas as pd

data = {
    '姓名': ['小明', '小红', '小刚', None, '小丽'],
    '数学': [95, 88, None, 70, 85],
    '英语': [None, 82, 76, 90, 95]
}

df = pd.DataFrame(data)
print(df)

输出结果为:

姓名 数学 英语
0 小明 95.0 NaN
1 小红 88.0 82.0
2 小刚 NaN 76.0
3 None 70.0 90.0
4 小丽 85.0 95.0

在这个数据集中,我们可以看到缺失的姓名、数学以及英语分数.我们可以选择删除包含缺失值的行或者用某个特定值填充缺失值.

# 填充缺失值
df['数学'].fillna(df['数学'].mean(), inplace=True)
df['英语'].fillna(df['英语'].mean(), inplace=True)

# 查看填充后的结果
print(df)

输出结果为:

姓名 数学 英语
0 小明 95.0 86.60
1 小红 88.0 82.00
2 小刚 83.00 76.00
3 None 70.0 90.00
4 小丽 85.0 95.00

处理重复数据

有时候,数据集中可能会有重复的行.我们可以使用 duplicated() 方法来查找重复的行,并使用 drop_duplicates() 方法来删除它们.

示例

假设我们的数据集中包含重复记录:

data = {
    '姓名': ['小明', '小红', '小刚', '小明', '小丽', '小红'],
    '数学': [95, 88, 80, 95, 85, 88],
}

df = pd.DataFrame(data)
print("原始数据:")
print(df)

# 查找重复数据
duplicates = df.duplicated()
print("\n重复行:")
print(df[duplicates])

# 删除重复数据
df.drop_duplicates(inplace=True)
print("\n去重后的数据:")
print(df)

输出结果为:

原始数据:
姓名 数学
0 小明 95
1 小红 88
2 小刚 80
3 小明 95
4 小丽 85
5 小红 88
重复行:
姓名 数学
3 小明 95
5 小红 88
重后的数据:
姓名 数学
0 小明 95
1 小红 88
2 小刚 80
4 小丽 85

标准化数据格式

在数据清洗的过程中,有时候我们需要标准化字段的格式,例如日期格式或字符串的大小写.

示例

假设我们的数据集中日期的格式不一致,我们需要将它们转换为统一的格式:

data = {
    '姓名': ['小明', '小红'],
    '生日': ['1990-01-01', '1992/05/15']
}

df = pd.DataFrame(data)

# 标准化日期格式
df['生日'] = pd.to_datetime(df['生日'])
print(df)

输出结果为:

姓名 生日
0 小明 1990-01-01
1 小红 1992-05-15

处理异常值

异常值指的是与其他数据点明显不同的值.我们可以用统计学方法,比如标准差、箱型图等,来识别异常值,并进行处理.

示例

下面的代码展示了如何使用标准差来处理异常值:

data = {
    '分数': [55, 60, 65, 70, 100, 150]  # 150是异常值
}

df = pd.DataFrame(data)

# 计算均值和标准差
mean = df['分数'].mean()
std = df['分数'].std()

# 设置阈值
threshold = 3
outliers = df[(df['分数'] < mean - threshold * std) | (df['分数'] > mean + threshold * std)]

print("异常值:")
print(outliers)

# 删除异常值
df = df[~df['分数'].isin(outliers['分数'])]
print("\n去除异常值后的数据:")
print(df)

输出结果为:

异常值:
分数
5 150
去除异常值后的数据:
分数
0 55
1 60
2 65
3 70
4 100

数据转换

数据转换是指将数据从一种格式转换为另一种格式,通常是在数据分析前的一步.

示例

例如,我们需要将一列的分数从百分制转换为五分制:

data = {
    '姓名': ['小明', '小红', '小刚'],
    '分数': [95, 85, 70]
}

df = pd.DataFrame(data)

# 将分数转换为五分制
df['五分制分数'] = (df['分数'] / 100) * 5
print(df)

输出结果为:

姓名 分数

关于Python学习指南

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!

点击领取,100%免费!

👉Python所有方向的学习路线👈

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取)

在这里插入图片描述

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
👉Python70个实战练手案例&源码👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉Python大厂面试资料👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

👉Python副业兼职路线&方法👈

学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。

在这里插入图片描述

👉 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以扫描下方CSDN官方认证二维码或者点击链接免费领取保证100%免费

在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_75067629/article/details/141961307

pandas之数据清洗_朴素.无恙的博客-爱代码爱编程_pandas 数据清洗代码

从零开始学Python数据分析与挖掘之Python数据处理工具----Pandas 在做项目时最重要的就是准备数据,在准备数据过程中重要的一步就是数据清洗,数据清洗的工作一般包括,检查数据集是否存在重复,是否数据集中数据有

python入门总结(数据分析方向)-爱代码爱编程

 随着Python自身功能的完善以及生态系统的扩展,Python在Web开发、网络爬虫、数据分析与数据挖掘、人工智能等应用方面逐渐崭露头角。回顾phthon演变史,主要如下介个阶段: 1、Django和Flask引领的WEB开发模式 2、网络爬虫 3、自动化运维 4、数据分析与科学计算 作为数据库出身,本人学习以数据分析和挖掘为方

使用Pandas进行数据清洗-爱代码爱编程

数据清洗的目的是修正异常值,以更好地进行运算和观察结果。通过Pandas对序列或数据帧的清洗分为两个步骤:异常检测和数据修正。 1.异常检测 Pandas中的空值用‘NaN’表示,可以通过调用isnull和notnull来检测序列对象和数据帧对象是否为异常值。 import pandas as pd dic = {'name': ['Tom', 'T

pandas-数据清洗-爱代码爱编程

pandas数据清洗 01 | 数据清洗常用方法02 | 数据集03 | 数据清洗1.查看基本信息2.处理空格3.处理重复值4.异常值处理5.缺失值处理6.处理文本数据7.转换时间序列8.时间序列切分04 | 数据提取1.正则表达式5.数值判断1.isin( ) 01 | 数据清洗常用方法 02 | 数据集 链接: https

pandas数据清洗-爱代码爱编程

pandas数据清洗 1、使用pandas进行数据清洗1.1、数据问题1.2、读取数据1.3、切分列1.4、删除列1.5、使用布尔索引筛选1.6、应用函数1.7、删除空行1.8、去重 1、使用pandas进行数据清洗 1.1、数据问题 没有列头一个列有多个参数列数据的单位不统一缺失值重复数据非ASCII 字符有些列头应该是数据,而不应该是列

Python-pandas数据清洗-爱代码爱编程

pandas 数据清洗 数据清洗是对一些没有用的数据进行处理的过程。 很多数据集存在数据缺失、数据格式错误、错误数据或重复数据的情况,如果要对使数据分析更加准确,就需要对这些没有用的数据进行处理。 参考: Pandas 数据清洗 | 菜鸟教程https://www.runoob.com/pandas/pandas-cleaning.html '''

pandas库数据清洗-爱代码爱编程

      数据清洗是将重复、多余的数据赛选清除,将缺失的数据补充完整,提高数据的一致性。          一般包括:分析数据、缺失值处理、异常值处理、去重处理、噪声数据处理。         Pandas数据结构包括二种,一种是一维标记数据,一种是类似excel二维标记数据。 (一)pandas数据结构 1.创建数据格式 从Excel中创建数

pandas入门-爱代码爱编程

目录 Pandas的应用一、 数据结构二、处理CSV文件、JSON文件三、数据清洗(1)清洗空值(2)清洗格式错误的数据 Pandas的应用 官方文档中强调,Pandas 项目名称中的字母应全部小写

pandas系列(三):数据清洗_pandas 数据清洗是什么意思-爱代码爱编程

Pandas系列目录 文章目录 一、 简介二、 思维导图三、 Pandas数据清洗1. 空值、缺失值处理1.1 空值、缺失值判断1.2 空值处理 2. 异常数据替换2.1 条件替换2.2 repl

pandas入门(二)——数据清洗_pandas 删除空行-爱代码爱编程

文章目录 前言一、“清洗”什么二、python实现2.1 数据来源2.2 查找空值2.3 空值处理2.3.1 删除空行2.3.2 统计某列空值数量2.3.3 删除某列2.3.4 空值填充2.3.5 删除某列数据

一篇python的pandas数据清洗与处理概述以及操作-爱代码爱编程

我们讨论过数据选择与过滤的相关内容,尤其是在使用 Pandas 进行数据操作时,如何高效地选择和过滤数据.现在我们将重点关注数据清洗与处理,这是数据分析过程中至关重要的一步. 什么是数据清洗? 数据清洗(Data Cleaning)是指对数据进行检测和修正的过程.数据往往会有缺失值、异常值或者不一致的格式,清洗数据的目的是提高数据的质量,使