设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 56|回复: 0
收起左侧

[已解决] 泰涨知识 | Pandas数据预处理技术

[复制链接]
发表于 3 小时前 | 显示全部楼层 |阅读模式
本帖最后由 泰克Tech 于 2024-10-18 16:10 编辑

Pandas数据预处理技术


一、数据合并


1 merge数据合并



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]

输出结果:




                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]


添加图片注释,不超过 140 字(可选)

1.1 内连接-inner



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]


添加图片注释,不超过 140 字(可选)

输出结果:



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]


添加图片注释,不超过 140 字(可选)

1.2 外连接--outer



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]


添加图片注释,不超过 140 字(可选)

输出结果:



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]


添加图片注释,不超过 140 字(可选)

1.3 左连接-left



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]


添加图片注释,不超过 140 字(可选)

输出结果:



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]


添加图片注释,不超过 140 字(可选)

1.4 右连接-right



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]


添加图片注释,不超过 140 字(可选)

输出结果:



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]


添加图片注释,不超过 140 字(可选)

1.5 参数suffiexes作用:重复列名的修改



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]


添加图片注释,不超过 140 字(可选)

输出结果:



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]


添加图片注释,不超过 140 字(可选)

2 concat数据连接



2.1默认情况下,会按行堆叠数据。



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



输出结果:



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



2.2  两个DataFrame的数据合并



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



输出结果:



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



2.3 两个DataFrame的数据合并



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



输出结果:



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



axis=1,按列进行合并,axis=0 表示的按行进行合并:



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]


添加图片注释,不超过 140 字(可选)

输出结果:



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



[color=rgb(25,]1 缺失值检测和统计

1.1 检测缺失值-isnull()



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



输出结果:



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



1.2  isnull.sum() 统计缺失值



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]





                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



1.3 使用info可以查看缺失值



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]


添加图片注释,不超过 140 字(可选)

输出结果:



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



[color=rgb(25,]删除缺失值 -dropna()

[color=rgb(25,]dropna方法的格式:

dropna(axis=0, how=‘any’, thresh=None, subset=None,  inplace=False)



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



2.1 缺失值在Series的应用



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]





                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



[color=rgb(25,]2.2 缺失值在DataFrame中的应用

dropna()默认会删除任何含有缺失值的行



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]





                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



2.3  dropna  参数how-any(只要含有任何一个 )  all(全部为缺失值时删除)



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



2.4 dropna参数axis=0( 按行) axis=1 (按列)  默认按行



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



输出结果:



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



2.5 dropna中的thresh参数  表示一行至少有N个非NaN才参存活



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



输出结果:



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



[color=rgb(25,]3.1 给定值填弃缺失值:df.fillna({1:0.88,2:0.99}



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



输出结果:



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



[color=rgb(25,]注method='ffill'  向下填充



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



输出结果:



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



3.3 用Series的均值-mean()填充



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



在DataFrame中用均值填充:



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



输出结果:



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



[color=rgb(25,]4.1 检测重复值---duplicates()

在DataFrame中利用duplicates方法判断每一行是否与之前的行重复。duplicates方法返回一个布尔值:



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



输出结果:



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



4.2  删除重复的行——drop_duplicates()



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]





                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



指定列名看是否重复:



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



默认保留的数据为第一个出现的记录,通过keep='last' 可以保留最后一个出现的记录:



                               
登录/注册后可看大图
[backcolor=rgba(0, 0, 0, 0.1)]
[backcolor=rgba(0, 0, 0, 0.1)]



[color=rgb(25,]更多精彩内容 尽在泰克教育

请持续关注

1 课程预约【鸿鹄论坛】300x300px.jpg


您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-10-18 19:21 , Processed in 0.055864 second(s), 12 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

快速回复 返回顶部 返回列表