【Pandas驯化-15】Pandas中几个特征工程函get_dummies、factorize、diff、rank技巧

【Pandas驯化-15】Pandas中几个特征工程函get_dummies、factorize、diff、rank技巧
 
本次修炼方法请往下查看
在这里插入图片描述

🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地!
🎇 相关内容文档获取 微信公众号
🎇 相关内容视频讲解 B站

🎓 博主简介:AI算法驯化师,混迹多个大厂搜索、推荐、广告、数据分析、数据挖掘岗位 个人申请专利40+,熟练掌握机器、深度学习等各类应用算法原理和项目实战经验

🔧 技术专长: 在机器学习、搜索、广告、推荐、CV、NLP、多模态、数据分析等算法相关领域有丰富的项目实战经验。已累计为求职、科研、学习等需求提供近千次有偿|无偿定制化服务,助力多位小伙伴在学习、求职、工作上少走弯路、提高效率,近一年好评率100%

📝 博客风采: 积极分享关于机器学习、深度学习、数据分析、NLP、PyTorch、Python、Linux、工作、项目总结相关的实用内容。

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

🌵文章目录🌵

  • 🎯 1. 基本介绍
  • 💡 2. 使用方法
      • 2.1 pd.get_dummies函数使用
      • 2.2 pd.factorize函数使用
      • 2.3 pd.diff函数使用
      • 2.4 pd.rank函数使用
  • 🔍 3. 注意事项
  • 🔧 4. 总结

下滑查看解决方法

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

  

🎯 1. 基本介绍

  pd.get_dummies:有时在进行特征工程时,当某列的值的种类不是大于20且不同的值的label差异性比较大时,像LR算法则一定需要将其进行one-hot编码,即使使用像xgb/gbm这样的算法,进行one-hot编码也会在拟合效果上有想不到的提升,当然如果对算法的速度有特别的要求,则需要去折中选择。
  pd.factorize: 这个函数主要对数据进行编码操作的,将类别数据转换为相关数值型数据
   diff():,在时序问题中,有时需要提取不同时间的差值特征,比如说前一天和后一天的差值,这是可以采用diff方法,其用法如下:

💡 2. 使用方法

2.1 pd.get_dummies函数使用

  使用 get_dummies 创建指示变量。下面为get_dummies的具体用法

import pandas as pd
import numpy as np

# 创建示例 DataFrame
df = pd.DataFrame({
    'Color': ['Green', 'Red', 'Green', 'Blue', 'Red', 'Blue'],
    'Value': [1, 2, 3, 4, 5, 6]
})

# 创建指示变量
dummies_df = pd.get_dummies(df['Color'])

print(dummies_df)

   Blue  Green  Red
0   0.0    1.0   0.0
1   0.0    0.0   1.0
2   0.0    1.0   0.0
3   1.0    0.0   0.0
4   0.0    0.0   1.0
5   1.0    0.0   0.0

2.2 pd.factorize函数使用

  使用 factorize 对分类数据进行编码。函数语法如下:

# 对 'Color' 列进行编码
encoded_df = pd.factorize(df['Color'])

print(encoded_df)

(array([0, 1, 0, 2, 1, 2]), array(['Blue', 'Green', 'Red'], dtype=object))

2.3 pd.diff函数使用

  diff()函数是Pandas中用于计算差分的函数。它可以计算两个相邻元素之间的差异,并返回一个新的Series或DataFrame。

# 计算 'Value' 列的一阶差分
diff_df = df['Value'].diff()

print(diff_df)
0    NaN
1    1.0
2    1.0
3    1.0
4    1.0
5    1.0
Name: Value, dtype: float64

2.4 pd.rank函数使用

  使用 rank 计算排名。可以对dataframe中的某列数据进行从0-1递增的增加数据,这个可以在特征工程中经常会被用到对连续的数据进行排序。

# 计算 'Value' 列的排名
rank_df = df['Value'].rank(method='min')

print(rank_df)
0    1.0
1    2.0
2    3.0
3    4.0
4    5.0
5    6.0
Name: Value, dtype: float64

🔍 3. 注意事项

  对上述的各个函数在使用的过程中需要注意的一些事项,不然可能会出现error,具体主要为:

  • get_dummies 默认情况下会忽略 NaN 值,如果需要包含 NaN,可以设置 drop_first=False。
  • factorize 返回的是编码后的数据和原始类别的映射,适用于处理未知类别。
    使用 diff 时,差分的第一步将是 NaN,因为它没有前一个值进行比较。
  • rank 方法有多种参数可以控制排名的计算方式,如 method 参数可以设置为 ‘min’、‘max’ 或 ‘average’。

🔧 4. 总结

  本文介绍了 Pandas 中的四个特征工程函数:get_dummies、factorize、diff 和 rank。这些函数在处理分类数据、计算数据变化和排名时非常有用。通过实际的代码示例和输出结果,我们可以看到这些函数的应用效果。掌握这些技巧可以帮助你更高效地进行特征工程。希望这篇博客能够帮助你更好地理解并应用这些特征工程技巧。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

磨坊中年轻的面包师

磨坊中年轻的面包师 The young baker in the mill 每天清晨(early morning),喜欢裸睡(sleep naked)的面包师(baker)在面包房(bakery)中醒来(wake up)后,就会到湖(lake)边取水,在刷(brushing)牙洗(washing)脸后,他就会开始烘焙(ba…

Linux_应用篇(22) 音频应用编程

ALPHA I.MX6U 开发板支持音频,板上搭载了音频编解码芯片 WM8960,支持播放以及录音功能!本章我们来学习 Linux 下的音频应用编程, 音频应用编程相比于前面几个章节所介绍的内容、 其难度有所上升, 但是笔者仅向大家介绍…

【源码】含70演示高转化率Magento2外贸时装女装跨境电商模板V1.2.2

MagMog是下一代最高转化率和可扩展的跨境电商Magento2主题,让您几乎可以立即上手。这是一个终极解决方案:主题附带一系列电子商务功能,可以启用您商店的隐藏功能,并且您无需支付任何额外费用。 100% 免费。 MagMog从定制设计到内…

焦化超低排平台组成部分

焦化行业作为重工业的重要组成部分,其环保问题一直备受关注。近年来,随着环保意识的提升和技术的不断进步,朗观视觉焦化超低排平台应运而生,成为推动焦化行业绿色发展的重要力量。本文将深入剖析焦化超低排平台的组成部分&#xf…

《梦醒蝶飞:释放Excel函数与公式的力量》4.3常用OR函数

Excel中的OR函数是一种逻辑函数,它用于检查多个条件中至少有一个是否满足。如果任何一个条件为TRUE,OR函数将返回TRUE;如果所有条件都为FALSE,OR函数将返回FALSE。 1) OR函数的基本语法是:OR(logical1, [logical2], .…

超声波眼镜清洗机是交智商税吗?四样超卓超声波清洗机独具特色

相信大家都知道超声波清洗机,每次眼镜脏的时候,去眼镜店里让老板帮忙清洗,她们用的就是超声波清洗机,通过超声波的原理深入物品深处清洁,清洁效果非常好。相对手洗的方式,超声波清洗机能够保护镜片在清洗过…

Java开发-实际工作经验和技巧-0001-PostgreSQL数据库存储磁盘满了重启以及应急措施

Java开发-实际工作经验和技巧-0001-PostgreSQL数据库存储磁盘满了重启以及应急措施 更多内容欢迎关注我(持续更新中,欢迎Star✨) Github:CodeZeng1998/Java-Developer-Work-Note 技术公众号:CodeZeng1998&#xff0…

1964springboot VUE小程序在线学习管理系统开发mysql数据库uniapp开发java编程计算机网页源码maven项目

一、源码特点 springboot VUE uniapp 小程序 在线学习管理系统是一套完善的完整信息管理类型系统,结合springboot框架uniapp和VUE完成本系统,对理解vue java编程开发语言有帮助系统采用springboot框架(MVC模式开发),…

stm32学习笔记---EXTI外部中断(理论部分)

目录 STM32的中断 NVIC的基本结构 中断的优先级 优先级分组 EXTI(Extern Interrupt)外部中断 支持的触发方式 支持的GPIO口 外部中断占用的通道 外部中断的触发响应方式 外部中断的基本结构 GPIO口的外设 AFIO中断引脚选择 EXTI边沿检测及控…

Mac角色扮演游戏推荐:仙剑奇侠传四 for Mac 安装包

《仙剑奇侠传四》拥有精美的画面、优秀的音乐和丰富的剧情内容,成为了仙剑系列中的经典作品之一。游戏在发行后获得了极高的口碑和销量,成为了仙剑系列中的经典之作。在游戏中,玩家将扮演不同的角色,进行冒险探索、与各种敌人战斗…

FEP分液漏斗Teflon耐酸碱四氟耐腐蚀耐高温250ml

FEP分液漏斗:也叫特氟龙分液漏斗、特氟龙梨型分液漏斗等。广泛应用于痕量分析、超痕量分析、ICP-MS分析、同位素分析等实验。 规格参考:125ml、250ml、500ml、1000ml 其主要特性有: 1.内壁对溶剂无粘贴性和吸附,可完全排空&…

NFTScan | 06.17~06.23 NFT 市场热点汇总

欢迎来到由 NFT 基础设施 NFTScan 出品的 NFT 生态热点事件每周汇总。 周期:2024.06.17~ 2024.06.23 NFT Hot News 01/ Slerf 将向其 NFT 持有者空投,快照将在几小时内拍摄 6 月 17 日,Slerf 宣布将为其 NFT 持有者准备空投,快…

python基于Selenium的web自动化框架

1 什么是selenium Selenium 是一个基于浏览器的自动化工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid: Selenium IDE:Firefox的一个…

DevOps进阶(三):走近 DevOps 工程师_devops的进阶(1)

一、前言 在软件开发生命周期中,通常会遇到以下两个瓶颈: 在需求分析和系统开发阶段之间,针对不断变化的需求,对软件开发者提出了高要求,所以出现了敏捷开发方法论,强调需求敏捷响应、快速迭代、持续交付。…

捷云等保一体机 产品服务一站式等保合规交付解决方案

等保2.0的变化 2019 年 5 月 13 日,网络安全等级保护制度 2.0 国家标准(简称“等保 2.0”)正式发布,将等保 2.0 基本要求、测评要求、安全设计技术要求框架统一为安全管理中心支持下的三重防护结构框架。定级对象在按照等保 2.0 …

海外仓系统有哪些优势?智能WMS系统和传统模式的区别分析

随着跨境电商市场的发展,海外仓的管理已经变成了一项越来越复杂的工作,对海外仓企业而言,也需要一种更高效的方式来确保仓库运转的高效和准确。 通常来说,海外仓的解决方案是WMS海外仓系统,这是一种综合性的海外仓管理…

Linux命令----wc,uniq,sort的用法

1.wc的用法:wc 命令用于计算文件中的行数、单词数和字节数。 常用选项 -l:只显示行数-w:只显示单词数-c:只显示字节数-m:只显示字符数(与 -c 类似,但处理多字节字符)-L&#xff1a…

个人整理双目视觉相关代码(附可提供相关答疑,快速入门)

文章目录 前言一、python部分双目相机1 get_stereocamera_image.py2 fenge_img.py3 mp4_camera.py4 video-frame-pic.py5 stereoconfig.py6 Polar line correction.py7 biaoding_hanshu.py8 biaoding_python.py9 ad_census.py10 PSM.py11 BM.py12 SGBM.py13 SGBM_BF.py14 SGBM_…

java医院绩效考核系统源码:医院绩效考核的发展趋势、医院绩效考核的具体方法

java医院绩效考核系统源码:医院绩效考核的发展趋势、医院绩效考核的具体方法 医疗机构绩效考核是对医疗机构绩效进行评估和分析的一项重要工作。它对医疗机构的发展起到了重要的指导和推动作用。本文将会分析国际上医院绩效考核的发展趋势以及医院绩效考核的具体方…

学习记录696@网络安全之认证、报文完整性、密钥分发与证书

认证 即通信双方如何认证对方身份。 这种情况存在问题:trudy可以伪造A的IP地址。就算带上密码也可能被截获,用于重放攻击。 解决重放攻击的办法是随机数挑战,每次认证时,B都发一个挑战码给A。A加密后再传给B,如果B…