脚本专栏 
首页 > 脚本专栏 > 浏览文章

Pandas之Fillna填充缺失数据的方法

(编辑:jimmy 日期: 2025/9/23 浏览:3 次 )

约定:

import pandas as pd
import numpy as np
from numpy import nan as NaN

填充缺失数据

fillna()是最主要的处理方式了。

df1=pd.DataFrame([[1,2,3],[NaN,NaN,2],[NaN,NaN,NaN],[8,8,NaN]])
df1

代码结果:

0 1 2 0 1.0 2.0 3.0 1 NaN NaN 2.0 2 NaN NaN NaN 3 8.0 8.0 NaN

用常数填充:

df1.fillna(100)

代码结果:

0 1 2 0 1.0 2.0 3.0 1 100.0 100.0 2.0 2 100.0 100.0 100.0 3 8.0 8.0 100.0

通过字典填充不同的常数:

df1.fillna({0:10,1:20,2:30})

代码结果:

0 1 2 0 1.0 2.0 3.0 1 10.0 20.0 2.0 2 10.0 20.0 30.0 3 8.0 8.0 30.0

传入inplace=True直接修改原对象:

df1.fillna(0,inplace=True)
df1

代码结果:

0 1 2 0 1.0 2.0 3.0 1 0.0 0.0 2.0 2 0.0 0.0 0.0 3 8.0 8.0 0.0

传入method=” “改变插值方式:

df2=pd.DataFrame(np.random.randint(0,10,(5,5)))
df2.iloc[1:4,3]=NaN;df2.iloc[2:4,4]=NaN
df2

代码结果:

0 1 2 3 4 0 6 6 2 4.0 1.0 1 4 7 0 NaN 5.0 2 6 5 5 NaN NaN 3 1 9 9 NaN NaN 4 4 8 1 5.0 9.0

df2.fillna(method='ffill')#用前面的值来填充

代码结果:

0 1 2 3 4 0 6 6 2 4.0 1.0 1 4 7 0 4.0 5.0 2 6 5 5 4.0 5.0 3 1 9 9 4.0 5.0 4 4 8 1 5.0 9.0

传入limit=” “限制填充个数:

df2.fillna(method='bfill',limit=2)

代码结果:

0 1 2 3 4 0 6 6 2 4.0 1.0 1 4 7 0 NaN 5.0 2 6 5 5 5.0 9.0 3 1 9 9 5.0 9.0 4 4 8 1 5.0 9.0

传入axis=” “修改填充方向:

df2.fillna(method="ffill",limit=1,axis=1)

代码结果:

0 1 2 3 4 0 6.0 6.0 2.0 4.0 1.0 1 4.0 7.0 0.0 0.0 5.0 2 6.0 5.0 5.0 5.0 NaN 3 1.0 9.0 9.0 9.0 NaN 4 4.0 8.0 1.0 5.0 9.0

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

上一篇:python模拟菜刀反弹shell绕过限制【推荐】
下一篇:Pandas之DataFrame对象的列和索引之间的转化
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap