pythonPandas三: 数据清洗和预处理

让我们通过几个案例来学习如何使用Pandas进行数据清洗和预处理,包括处理缺失值、异常值,进行数据转换和规范化,以及处理重复数据等操作。

  1. 处理缺失值:

    # 创建包含缺失值的DataFrame
    data = {'姓名': ['张三', '李四', None, '赵六'],'年龄': [18, 19, None, 20],'性别': ['男', '女', '男', '女'],'分数': [90, None, 95, 80]
    }
    df = pd.DataFrame(data)# 检测缺失值
    print(df.isnull())# 删除包含缺失值的行
    df_dropna = df.dropna()
    print(df_dropna)# 使用指定值填充缺失值
    df_fillna = df.fillna(0)
    print(df_fillna)
    
  2. 处理异常值:

    # 创建包含异常值的DataFrame
    data = {'姓名': ['张三', '李四', '王五', '赵六'],'年龄': [18, -10, 17, 20],'性别': ['男', '女', '男', '女'],'分数': [90, 85, 105, 80]
    }
    df = pd.DataFrame(data)# 检测异常值
    age_outliers = df[(df['年龄'] < 0) | (df['年龄'] > 100)]
    print(age_outliers)score_outliers = df[(df['分数'] < 0) | (df['分数'] > 100)]
    print(score_outliers)# 替换异常值
    df.loc[df['年龄'] < 0, '年龄'] = 18
    df.loc[df['分数'] < 0, '分数'] = 0
    print(df)
    
  3. 数据转换和规范化:

    # 将姓名列转换为大写
    df['姓名'] = df['姓名'].str.upper()
    print(df)# 将分数归一化到0-1之间
    df['分数_normalized'] = (df['分数'] - df['分数'].min()) / (df['分数'].max() - df['分数'].min())
    print(df)# 使用字典映射进行数据规范化
    gender_mapping = {'男': 1, '女': 0}
    df['性别_encoded'] = df['性别'].map(gender_mapping)
    print(df)
    
  4. 处理重复数据:

    # 创建包含重复数据的DataFrame
    data = {'姓名': ['张三', '李四', '王五', '张三'],'年龄': [18, 19, 17, 20],'性别': ['男', '女', '男', '男'],'分数': [90, 85, 95, 80]
    }
    df = pd.DataFrame(data)# 检测重复行
    duplicate_rows = df.duplicated()
    print(duplicate_rows)# 删除重复行
    df_drop_duplicates = df.drop_duplicates()
    print(df_drop_duplicates)
    

通过这些案例,您可以学习如何使用Pandas提供的函数和方法来处理数据清洗和预处理的任务。这些操作可以帮助您处理缺失值、异常值,进行数据转换和规范化,并处理重复数据,使数据适合后续的分析和建模。掌握这些技巧可以提高数据质量和准确性,从而得到更可靠的分析结果。您可以根据实际需求在项目中应用这些技术。

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

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

相关文章

利用ArcGIS探究环境与生态因子对水体、土壤、大气污染物等影响的实践技术

如何利用ArcGIS实现电子地图可视化表达&#xff1f;如何利用ArcGIS分析空间数据&#xff1f;如何利用ArcGIS提升SCI论文的层次&#xff1f;制图是地理数据展现的直观形式&#xff0c;也是地理数据应用的必要基础。本次课程从ArcGIS的基本操作、ArcGIS 的空间数据分析及ArcGIS 的…

js利用express来创建服务器和创建接口

const expressrequire(express) const fsrequire(fs) const appexpress() app.use(express.urlencoded()) app.listen(2024,()>{ console.log(服务器已开启&#xff0c;基准地址&#xff1a;http://localhost:2024) }) app.get(/search,(req,res)>{ const {n…

2023年TIOBE指数TOP50的编程语言写“Hello World!”

这篇文章列出了TIOBE指数TOP50的编程语言&#xff08;TIOBE Index - TIOBE&#xff09;如何写“Hello World&#xff01;”。“Hello World&#xff01;”代码应该是每个程序员学习一门编程语言最先实现的程序&#xff0c;给我们带来了很多美好的回忆&#xff0c;下面我们就一次…

低代码搭建,助力批发零售行业解决方案的快速实现

引言 随着技术的快速发展&#xff0c;低代码技术作为一种高效的业务解决方案&#xff0c;正日益在批发零售行业中展现其巨大的应用潜力。其所带来的快速搭建、灵活性和成本效益&#xff0c;对于现代批发零售业务的管理和发展具有重要意义。 本文旨在探讨低代码技术在批发零售…

HTTPS网站安全证书

随着互联网的迅猛发展&#xff0c;网络安全问题日益凸显&#xff0c;而HTTPS网站安全证书作为一项关键技术&#xff0c;正成为保护用户隐私和数据安全的不可或缺的手段之一。本文将介绍HTTPS网站安全证书的定义、作用、种类及部署过程&#xff0c;以帮助读者更好地理解和应用这…

1.3 力扣二叉树中等题

题目一&#xff1a; 669. 修剪二叉搜索树 给你二叉搜索树的根节点 root &#xff0c;同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树&#xff0c;使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即&#xff0c;如果没有被移除&…

【经济学】日常生活遇到的经济学问题

文章目录 1. 提前支出问题1.1. 问题描述1.2. 分析过程 1. 提前支出问题 1.1. 问题描述 现在某运营商的活动中中了价值4000块的手表&#xff0c;如果要兑奖&#xff0c;需要满足以下条件&#xff1a; 手机卡已经使用2年以上需要个人信用良好&#xff0c;有6000块的额度&#…

物联网安全:保护关键网络免受数字攻击

物联网 (IoT) 彻底改变了当今互联世界中的各个行业&#xff0c;实现了智能家居、自动驾驶汽车和先进的工业系统。然而&#xff0c;随着物联网设备数量的急剧增加&#xff0c;这些设备和相应网络的安全性已成为人们关注的焦点。本文旨在探讨物联网安全的重要性&#xff0c;同时简…

web自动化(6)——项目配置和Grid分布式

1. 框架的可配置性 项目之间的区别&#xff1a; 兼容性&#xff1a;有些项目只兼容chrome&#xff0c;有些只兼容Firefox等元素定位特点&#xff1a;有些项目闪现快&#xff0c;有的项目很慢有些项目集成Jenkins&#xff0c;不需要用python生成allure报告 如果想要我们的框架…

【华为数据之道学习笔记】10-1数据被列为生产要素:制度层面的肯定

数字化转型不能一蹴而就&#xff0c;数据治理也不是一朝一夕之功。数字化转型带来机遇的同时&#xff0c;也给整个企业的数据治理带来了新的挑战。 基于对华为公司数字化转型的解读&#xff0c;我们建立了数据综合治理体系&#xff0c;发布了信息架构&#xff0c;构建了数据湖、…

QT上位机开发(数据库sqlite编程)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 编写软件的时候&#xff0c;如果用户的数据比较少&#xff0c;那么用json保存是非常方便的。但是一旦数据量大了之后&#xff0c;建议还是用数据库…

Minio集群部署(docker版本)

先在/etc/hosts中添加虚拟域名 {ip} minio1 {ip} minio2 执行docker命令 docker run -it -d --name minio-01 --restartalways --nethost \ -e "MINIO_ROOT_USER{用户名}" \ -e "MINIO_ROOT_PASSWORD{密码}" \ -v /data/docker/minio/update:/data1 #…

三种方式在ASP.NET Core中实现代理功能请求获取数据的接口(以请求百度统计数据接口为例)

一、定义请求数据属性 TargetUrl参数是目标接口的URL&#xff0c;RequestDataArray参数是要发送的请求数据列表 //定义属性:TargetUrl参数是目标接口的URL&#xff0c;RequestDataArray参数是要发送的请求数据列表public class ToResponseBody{[JsonPropertyName("Target…

智能化校园:深入探讨云端管理系统设计与实现(二)

系列文章目录 智能化校园&#xff1a;深入探讨云端管理系统设计与实现&#xff08;一&#xff09; 文章目录 系列文章目录功能开发登录功能分析验证码功能实现登录校验功能登录后跳转功能 系统管理器实现验证码响应图片功能实现异步图片上传头像功能实现全局修改密码功能实现 …

YOLOv8改进 | 主干篇 | CSWinTransformer交叉形窗口网络

一、本文介绍 本文给大家带来的改进机制是CSWin Transformer,其基于Transformer架构,创新性地引入了交叉形窗口自注意力机制,用于有效地并行处理图像的水平和垂直条带,形成交叉形窗口以提高计算效率。它还提出了局部增强位置编码(LePE),更好地处理局部位置信息,我将其…

HarmonyOS创建自定义组件

创建自定义组件 在ArkUI中&#xff0c;UI显示的内容均为组件&#xff0c;由框架直接提供的称为系统组件&#xff0c;由开发者定义的称为自定义组件。在进行 UI 界面开发时&#xff0c;通常不是简单的将系统组件进行组合使用&#xff0c;而是需要考虑代码可复用性、业务逻辑与U…

HttpClient库与代理IP在爬虫程序中的应用

目录 前言 一、HttpClient库的基本使用方法 二、代理IP的使用方法 三、代理IP池的使用方法 四、总结 前言 在编写爬虫程序时&#xff0c;我们经常会使用HttpClient库来发送HTTP请求&#xff0c;获取网页内容。然而&#xff0c;有些网站可能会对频繁的请求进行限制&#x…

linux c++ ffmpeg rtsp推流报错 rtsp://localhost:8554/Live: Protocol not found

根据报错内容rtsp://localhost:8554/Live: Protocol not found 意思是没有找到对应协议&#xff0c;添加以下红色字体指令解决&#xff0c; std::string rtsp_server_url "rtsp://localhost:8554/live"; std::stringstream command; command << "ffmpe…

前端工程化回顾-vite 构建神器

1.构建vite 项目 pnpm create vite2.常用的配置&#xff1a; 1.公共资源路径配置&#xff1a; base: ./, 默认是/2.路径别名配置&#xff1a; resolve: {alias: {: path.resolve(__dirname, ./src),ass: path.resolve(__dirname, ./src/assets),comp: path.resolve(__dirnam…

关于Django静态文件路径设置规则的精炼总结

01-当Django处于DEBUG模式时&#xff0c;其与静态资源有关的三句设置语句才有作用&#xff0c;当没有处于DEBUG模式时&#xff0c;与静态资源有关的三句设置语句没有作用。与静态资源有关的三句设置语句如下&#xff1a; STATICFILES_DIRS [os.path.join(BASE_DIR, static_li…