利用Python pandas 数据清洗详细教程

文章目录

  • 前言
  • 一、环境搭建
    • 1. 下载 Python
    • 2. 安装 Python
    • 3 使用 pip 安装 Pandas
  • 二、使用步骤
    • 1.读取数据
    • 2.处理缺失值
    • 3. 处理重复值
    • 4. 处理异常值
    • 5. 数据类型转换
    • 6. 处理不一致的数据


前言

pandas 是 Python 数据处理与分析的得力工具,功能强大,是数据从业者进行数据清洗的首选。本教程将系统介绍用 pandas 进行数据清洗,涵盖数据读取、缺失值与重复值处理、异常值修正、数据类型转换等要点。无论你是新手还是专业人士,都能从中获得清晰指导,为数据分析筑牢基础。


一、环境搭建

在数据分析流程里,数据清洗是关键且基础的环节,它能够提升数据质量,为后续分析工作打下良好基础。pandas 提供了丰富且强大的功能来完成数据清洗任务,以下将详细介绍使用 pandas 进行数据清洗的常见方法和示例。

1. 下载 Python

访问 Python 官方网站,根据你的操作系统(Windows、Mac OS、Linux)选择合适的 Python 版本进行下载。建议下载 Python 3.x 版本,因为 Python 2 已经停止维护。

还可以从小编准备地址下载。

Python 3.7下载地址:https://pan.quark.cn/s/8268bf81f31f
Python 3.9下载地址:https://pan.quark.cn/s/9711a93276ad
Python 3.11下载地址:https://pan.quark.cn/s/9c44793cb24c

2. 安装 Python

访问 Python 官方网站(https://www.python.org/),根据自己的操作系统(Windows、MacOS、Linux)下载并安装 Python 3.x 版本。安装过程中注意勾选 “Add Python to PATH”,以便在命令行中能直接使用 Python。

Python 3.7安装教程:https://blog.csdn.net/u014164303/article/details/145620847
Python 3.9安装教程:https://blog.csdn.net/u014164303/article/details/145570561
Python 3.11安装教程:https://blog.csdn.net/u014164303/article/details/145549489

3 使用 pip 安装 Pandas

在命令提示符中输入以下命令并回车,以安装 Pandas:

pip install pandas

二、使用步骤

1.读取数据

在进行数据清洗之前,首先需要读取数据。pandas 支持多种文件格式的读取,例如 CSV、Excel 等。

mport pandas as pd# 读取 CSV 文件
data = pd.read_csv('your_file.csv')# 读取 Excel 文件
# data = pd.read_excel('your_file.xlsx')

2.处理缺失值

数据中常常会存在缺失值,pandas 提供了多种处理缺失值的方法。

  • 2.1检测缺失值,使用 isnull() 或 isna() 方法来检测数据中的缺失值,它们的功能相同。
data = pd.read_csv('https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())
  • 2.2删除包含缺失值的行或列,可以使用 dropna() 方法删除包含缺失值的行或列。

# 删除包含缺失值的行
data_without_missing_rows = data.dropna(axis=0)# 删除包含缺失值的列
data_without_missing_columns = data.dropna(axis=1)
  • 2.3填充缺失值,使用 fillna() 方法可以用特定的值来填充缺失值。
# 使用固定值填充缺失值
data_filled_with_constant = data.fillna(0)# 使用前一个有效值填充缺失值(向前填充)
data_filled_forward = data.fillna(method='ffill')# 使用后一个有效值填充缺失值(向后填充)
data_filled_backward = data.fillna(method='bfill')# 使用均值填充数值列的缺失值
numeric_columns = data.select_dtypes(include=['number']).columns
data[numeric_columns] = data[numeric_columns].fillna(data[numeric_columns].mean())

3. 处理重复值

数据中可能存在重复的记录,需要进行处理。

  • 3.1 检测重复值
    使用 duplicated() 方法检测重复的行。
# 检测重复行
duplicate_rows = data.duplicated()
# 统计重复行的数量
duplicate_count = duplicate_rows.sum()
  • 3.2 删除重复值
    使用 drop_duplicates() 方法删除重复的行。
# 删除重复行
data_without_duplicates = data.drop_duplicates()

4. 处理异常值

异常值可能会影响数据分析的结果,需要进行处理。

  • 4.1 基于统计方法检测异常值
    例如,使用 Z-Score 方法检测数值列的异常值。
import numpy as np# 计算数值列的 Z-Score
numeric_columns = data.select_dtypes(include=['number']).columns
z_scores = np.abs((data[numeric_columns] - data[numeric_columns].mean()) / data[numeric_columns].std())# 找出 Z-Score 大于 3 的异常值
outliers = data[(z_scores > 3).any(axis=1)]
  • 4.2 处理异常值,可以选择删除异常值或对其进行修正。
# 删除异常值
data_without_outliers = data[(z_scores <= 3).all(axis=1)]# 修正异常值,例如将异常值替换为均值
data[numeric_columns] = np.where(z_scores > 3, data[numeric_columns].mean(), data[numeric_columns])

5. 数据类型转换

确保数据类型正确有助于后续的分析工作。

# 将某列转换为数值类型
data['column_name'] = pd.to_numeric(data['column_name'], errors='coerce')# 将某列转换为日期类型
data['date_column'] = pd.to_datetime(data['date_column'])

6. 处理不一致的数据

数据中可能存在大小写不一致、拼写错误等问题,需要进行处理。

# 将某列的字符串转换为小写
data['string_column'] = data['string_column'].str.lower()# 修正拼写错误
data['string_column'] = data['string_column'].replace('old_value', 'new_value')

通过以上步骤,你可以使用 pandas 对数据进行全面的清洗,提高数据的质量和可用性,为后续的数据分析工作做好准备。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/70010.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

qt的QMainWindow保存窗口和恢复窗口状态

保存窗口状态 QSettings settings("MyCompany", "MyApp"); // 指定存储的应用信息 settings.setValue("mainWindowState", saveState());saveState() 返回一个 QByteArray&#xff0c;包含 所有停靠窗口和工具栏的状态。QSettings 用于存储数据…

haproxy实现MySQL服务器负载均衡

1.环境准备 准备好下面四台台服务器&#xff1a; 主机名IP角色open-Euler1192.168.121.150mysql-server1openEuler-2192.168.121.151mysql-server2openEuler-3192.168.121.152clientRocky8-1192.168.121.160haproxy 2.mysql服务器配置 1.下载mariadb #下载mariadb [rootop…

Uniapp 原生组件层级过高问题及解决方案

文章目录 一、引言&#x1f3c5;二、问题描述&#x1f4cc;三、问题原因❓四、解决方案&#x1f4af;4.1 使用 cover-view 和 cover-image4.2 使用 subNVue 子窗体4.3 动态隐藏原生组件4.4 使用 v-if 或 v-show 控制组件显示4.5 使用 position: fixed 布局 五、总结&#x1f38…

Neo4j集群学习

文章目录 官方指导文档Neo4j因果集群核心服务器只读副本因果一致性 Neo4j集群搭建Neo4j企业版下载集群简介虚拟机准备jdk安装实施搭建访问neo4j Web服务 集群添加Core节点 官方指导文档 Neo4j 5 ClusterNeo4j 5 Basic Cluster Neo4j因果集群 集群是Neo4企业版中所提供的功能…

Ant-Design-Vue:Button按钮SVG图标垂直未居中问题

问题描述 如下图所示&#xff0c;在使用Ant-Design-Vue UI组件库提供的Button按钮Icon组件开发页面时&#xff0c;发现icon图标并没有垂直居中。 icon插槽-图标垂直不居中 再看一个官网的例子&#xff0c; 官网老子 问题排查 首先&#xff0c;考虑是否由于当前的页面布局&#…

OpenMetadata MySQL 数据库使用率提取管道实现解析

目录 架构概述核心组件源码分析使用率指标定义数据提取流程图源码类图配置与扩展指南架构概述 OpenMetadata 通过可插拔的元数据摄取框架实现对 MySQL 使用率数据的采集,核心流程包含三个阶段: 数据采集层:从 MySQL performance_schema 和 sys schema 获取原始指标指标处理…

慧星云+Chatbox :云上部署DeepSeek告别使用卡顿

DeepSeek 官网卡顿 DeepSeek 系列模型的现象级爆火&#xff0c;引发国内外广泛关注与讨论热潮&#xff0c;然而充满热情的使用者也让 DeepSeek 官网崩溃导致无法正常使用。 为了解决用户使用痛点&#xff0c;慧星云推出了云端蒸馏与满血版的 DeepSeek&#xff0c;搭配 Chatbox …

DeepSeek与ChatGPT的全面对比

在人工智能&#xff08;AI&#xff09;领域&#xff0c;生成式预训练模型&#xff08;GPT&#xff09;已成为推动技术革新的核心力量。OpenAI的ChatGPT自发布以来&#xff0c;凭借其卓越的自然语言处理能力&#xff0c;迅速占据市场主导地位。然而&#xff0c;近期中国AI初创公…

LeetCode1706

LeetCode1706 目录 LeetCode1706题目描述示例题目理解问题描述 示例分析思路分析问题核心 代码段代码逐行讲解1. 获取网格的列数2. 初始化结果数组3. 遍历每个球4. 逐行模拟下落过程5. 检查是否卡住6. 记录结果7. 返回结果数组 复杂度分析时间复杂度空间复杂度 总结的知识点1. …

前后端的身份认证

现代Web应用程序中&#xff0c;身份认证是确保用户数据安全的关键环节。无论你是开发一个简单的博客系统还是复杂的企业级应用&#xff0c;正确实现身份验证机制都是至关重要的。本文将探讨如何在前后端分离的架构下&#xff0c;使用Node.js作为后端来实现安全有效的身份认证。…

如何调整 Nginx工作进程数以提升性能

&#x1f3e1;作者主页&#xff1a;点击&#xff01; Nginx-从零开始的服务器之旅专栏&#xff1a;点击&#xff01; &#x1f427;Linux高级管理防护和群集专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2025年2月15日14点20分 Nginx 的工作进程数&#xff0…

学习web数据埋点

什么是埋点&#xff0c;以及为什么需要埋点 通过代码主动收集用户行为数据&#xff08;如点击、浏览、停留时长等&#xff09;&#xff0c;用于数据分析驱动产品优化。 一、前端埋点 在客户端&#xff08;浏览器、移动端应用&#xff09;直接采集用户行为数据&#xff0c;通…

VMware Workstation Pro 下载(无需注册账号)

VMware Workstation Pro 目前对个人用户完全免费。有两种下载方式&#xff0c;分别为 1、Broadcom 官网下载 需要注册账号&#xff0c;我懒得注册 2、VMware 更新服务器下载 如果不想注册账号&#xff0c;可以通过 VMware 更新服务器直接下载。访问以下链接&#xff1a; ht…

04性能监控与调优篇(D1_学习前言)

目录 一、引言 二、基本介绍 三、JVM基础 1. java堆 2. 垃圾回收 3. STW 四、调优层次 五、调优指标 六、JVM调优原则 1. 优先原则 2. 堆设置 3. 垃圾回收器设置 1> GC 发展阶段 2> G1的适用场景 3> 其他收集器适⽤场景 4. 年轻代设置 5. 年⽼代设置 …

【php】Static 关键字注意事项

静态属性不可以由对象通过 -> 操作符来访问。 代码 <?phpclass parent1{static $a "1 ";static function fun(){echo "dddd ";}}echo parent1::$a;parent1::fun();echo "----------------------<br>";$c new parent1();//错误&a…

环境影响评价(EIA)中,土地利用、植被类型及生态系统图件的制作

在环境影响评价&#xff08;EIA&#xff09;中&#xff0c;土地利用、植被类型及生态系统图件的制作需依据科学、法规和技术规范&#xff0c;以确保数据的准确性和图件的规范性。以下是主要的制作依据&#xff1a; 1. 法律法规与政策依据 《中华人民共和国环境影响评价法》 明确…

使用LightGBM与Apache Spark进行多分类任务

在大数据环境中&#xff0c;使用机器学习算法处理复杂的分类问题是常见的需求。本文将介绍如何利用Apache Spark和Microsoft Synapse ML库中的LightGBM模型来执行多分类任务。我们将通过一个具体的示例&#xff0c;展示从数据准备到模型训练和评估的完整流程。 环境设置 首先…

2025年SEO工具有哪些?老品牌SEO工具有哪些

随着2025年互联网的发展和企业线上营销的日益重要&#xff0c;SEO&#xff08;搜索引擎优化&#xff09;逐渐成为了提高网站曝光率和流量的重要手段。SEO的工作不仅仅是简单地通过关键词优化和内容发布就能够实现的&#xff0c;它需要依赖一系列专业的SEO工具来帮助分析、监测和…

关于视频去水印的一点尝试

一. 视频去水印的几种方法 1. 使用ffmpeg delogo滤镜 delogo 滤镜的原理是通过插值算法&#xff0c;用水印周围的像素填充水印的位置。 示例&#xff1a; ffmpeg -i input.mp4 -filter_complex "[0:v]delogox420:y920:w1070:h60" output.mp4 该命令表示通过滤镜…

调用DeepSeek API接口:实现智能数据挖掘与分析

在当今数据驱动的时代&#xff0c;企业和开发者越来越依赖高效的数据挖掘与分析工具来获取有价值的洞察。DeepSeek作为一款先进的智能数据挖掘平台&#xff0c;提供了强大的API接口&#xff0c;帮助用户轻松集成其功能到自己的应用中。本文将详细介绍如何调用DeepSeek API接口&…